依存関係を処理する

関数では、他のローカルデータだけでなく、他の Node.js モジュールも使うことができます。Node.js における依存関係は、npm で管理され、関数に付属する package.json というメタデータ ファイルで表現されます。gcloud を使ってデプロイする場合は、完全に実体化された依存関係を関数パッケージ内に事前にパッケージ化するか、package.json ファイルで宣言でき、それらはデプロイ時に Cloud Functions によってダウンロードされます。Firebase CLI を使用してデプロイすると、node_modules フォルダは無視されるので、package.json で依存関係を指定する必要があります。package.json ファイルについては、npm docs で詳しく学んでいきます。

この例では、依存関係は package.json ファイルにリストされています。

{
  "dependencies": {
    "uuid": "^3.0.1"
  }
}

依存関係は関数にインポートされます。

const uuid = require('uuid');

// Return a newly generated UUID in the HTTP response.
exports.getUuid = functions.https.onRequest((req, res) => {
  res.send(uuid.v4());
});

npm を使用して Node.js モジュールをインストールする

Node.js モジュールをインストールする最も簡単な方法は、functions フォルダで npm install --save コマンドを使用することです。たとえば、uuid モジュールを Cloud Functions プロジェクトに追加するには、次のようなコマンドを使用します。

npm install --save uuid

これは、次の 2 つのステップを組み合わせたものです。

  1. Node.js モジュールの最新のコピーを package.json ファイル内の依存関係として追加します。これは非常に重要です。Cloud Functions は、package.json ファイルで宣言されたモジュールのみをインストールします。
  2. モジュールを node_modules ディレクトリにダウンロードします。これにより、任意のローカル単体テストでモジュールを使用できます。

Node.js モジュールを読み込む

require('uuid') を使用して uuid モジュールを読み込むのと同じように、require 関数を使用して、インストールした Node.js モジュールを読み込むことができます。require 関数は Node.js モジュールの名前を取得し、そのモジュールの exports オブジェクトを返します。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。