Cloud Functions for Firebaseで関数をシンプルにファイルごとに分割する


Cloud Functions for Firebase にて、関数を定義する際にデフォルトのfunctions/index.js以下に関数を書いていくとすぐにファイルが肥大化してしまいます。

funcions/index.js
const functions = require("firebase-functions");

// Create and Deploy Your First Cloud Functions
// https://firebase.google.com/docs/functions/write-firebase-functions

exports.helloWorld = functions.https.onRequest((request, response) => {
  response.send("Hello from Firebase!");
});

そこで、ある程度の規模になりそうな場合は以下のようにファイルを分割した上で、関数をエクスポートして利用すると見通しが良くなるかと思います。

以下はその例です(TypeScript です)。

functions/src/index.ts
import * as admin from "firebase-admin";
admin.initializeApp();

export * from "./hello";
functions/src/hello.ts
import * as functions from "firebase-functions";

export const helloWorld = functions.https.onRequest((request, response) => {
  response.send("Hello from Firebase!");
});

export * from "./hello";とすることで、hello.ts内でexportした関数はすべて利用できるようになります。

ぜひ参考にしてみてください😄

〜宣伝〜

こんな感じで Firebase を使って、AnyMake というサービスを個人で開発しています。

気になる方はぜひチェックしてみてください👍

AnyMake - 最高のプロダクトと共に。