如何正确组织Firebase功能分组?



我按照这个指南在NodeJS中创建一个包含多个函数文件的函数项目。虽然这是一个很好的基础,但它没有展示如何通过使用const app = admin.initializeApp()来正确启动firebase应用程序。以一种可以跨不同文件重用的方式。我最初的想法是在索引中添加以下内容。但是这会引发一个最大调用堆栈大小超过错误。

import admin = require('firebase-admin');
export const app = admin.initializeApp();

在网上搜索时,我只能找到一些不适用于当前版本的旧帖子。有人能提供一个指导吗?

这看起来像是一个循环依赖问题。您只需要在index.ts开头初始化Firebase Admin一次,并根据需要在其他文件中导入其他服务,如下所示:

// index.ts
// Don't export anything from this file. 
import { initializeApp } from "firebase-admin/app";
initializeApp({
  databaseURL: "<DB_URL>",
  storageBucket: "<BUCKET>.appspot.com",
});
export * from "./metric";
// metric.ts
import { https } from "firebase-functions/v1";
import { getFirestore } from "firebase-admin/firestore";
const db = getFirestore();
export const test = https.onRequest(async (req, res) => {
  const metricData = await db.collection("metrics").get();
  res.json(metricData.docs.map((doc) => doc.data()));
});

相关内容

  • 没有找到相关文章

最新更新