如何解决在节点模块中初始化 Firebase Admin SDK
我相信我因为在 Cloud Functions 打字稿项目上初始化管理 Firebase SDK 遇到困难而变得疯狂。
main-project - index.ts
node_modules - depA - index.ts
node_modules - debB - index.ts
项目和依赖项都需要使用管理 SDK 执行操作,但我正在疯狂地试图理解为什么我无法正确部署我的功能 .
初审: admin.initializeApp() 仅在我的主项目中:编译器抱怨
错误:默认 Firebase 应用不存在。请确保在使用任何 Firebase 服务之前调用 initializeApp()。
二审: admin.initializeApp() 仅在我的主项目中:编译器抱怨相反的原因
错误:默认 Firebase 应用已存在。这意味着您多次调用 initializeApp() 而不提供应用程序名称作为第二个参数。在大多数情况下,您只需要调用 initializeApp() 一次。但是,如果您确实想初始化多个应用程序,请将第二个参数传递给 initializeApp() 以给每个应用程序一个唯一的名称。
我也有一个 Trial #0,我有一个自定义逻辑来检查是否有任何管理应用程序被初始化并最终初始化。就这么简单:
if (!initDone) {
initDone = true;
// Init here
}
通过这种方法,我能够部署到云端,但我真的想弄清楚模块加载和管理初始化背后的逻辑,以避免将来出现任何部署和配置错误。 admin init 是全局的还是每个模块一次?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。