![](/img/trans.png)
[英]Google Cloud Functions Firebase Error The default Firebase app already exists
[英]Using Firebase Admin SDK, Unable to Deploy Firebase Cloud Functions Split Across Multiple Files: "The default Firebase app already exists"
当我尝试在新的 Firebase 云 function 中使用initializeApp()
时(组织在一个单独的文件中,通过 index.ts 导出),我收到错误消息:“默认的 Firebase 应用程序已经存在”
我有三个文件,index.ts、http.ts 和 pubsub.ts。
指数.ts:
export { function1 } from './http'
export { function2 } from './pubsub'
http.ts(已经在使用 initializeApp 并且运行良好):
import * as functions from 'firebase-functions'
import fetch from 'node-fetch'
import { initializeApp } from 'firebase-admin/app'
import { getFirestore } from 'firebase-admin/firestore'
const app = initializeApp()
const db = getFirestore(app)
const config = functions.config()
export const function1 = functions...
我需要在另一个文件 pubsub.ts 中使用应用程序:
import * as functions from 'firebase-functions'
import { initializeApp } from 'firebase-admin/app'
import { getAuth } from 'firebase-admin/auth'
import { getFirestore } from 'firebase-admin/firestore'
const app = initializeApp()
const auth = getAuth(app)
const db = getFirestore(app)
export const function2 = functions...
我已经看到诸如.admin.apps?length. admin:initializeApp(). admin;app();
.admin.apps?length. admin:initializeApp(). admin;app();
但我使用的是最新版本的 Firebase Admin SDK 并且它的导入方式不同。
此外,我想一旦我设法解决了 initializeApp 的问题, db
也会出现同样的情况——因为它也在两者中使用。
我检查了 Firebase 文档,当云功能被组织到单独的文件中时,我没有看到使用 Firebase Admin SDK 的提及(但是它确实讨论了这样的组织功能)。
提前致谢。
getApp() 和 getApps() 方法看起来很可靠,可以检查您的应用是否已初始化: https://firebase.google.com/docs/reference/js/app.md#getapp并基于此执行条件初始化.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.