已解决:我正在创建循环依赖项,同时将我的工作模块导入我的 Firebase 配置模块以初始化它们,同时将我的 Firebase 配置模块导入我的工作模块!!!哇,事后看来这似乎很愚蠢,我把头发扯掉了!
所以这本质上是这个问题的重复: 使用requirejs解决节点中的循环依赖
我首先将工人带入其中,然后再定义firebase,因此显然没有在需要工人模块的阶段进行定义。
原来的 - - - - - - - - - -
在我的客户端应用程序中,我倾向于使用一种模式,即使用一个文件来初始化我的 Firebase 应用程序,然后将该初始化的应用程序导出为一个模块,然后我可以将其导入其他地方。我正在我的节点服务器中尝试这个 Firebase Admin,但它一直显示为未定义。
初始化 Firebase Admin 应用然后在其他模块中使用该实例的最佳做法是什么?谢谢
编辑:抱歉,添加了代码。我错过了几个步骤,但是这个文件中的 firebase 实例运行良好,我只是在导出它时遇到了问题。
const admin = require("firebase-admin");
const Admin = admin.initializeApp({
credential: "my_credential",
databaseURL: "my database"
});
module.exports.Admin = Admin;
然后在其他地方我正在尝试导入该管理员并向其添加参考等,例如:
const firebase = require('../myFirebaseModule);
const Admin = firebase.Admin;
const ref = Admin.database().ref();
但是收到未定义的错误。或者,如果我尝试从包中提取 firebase 管理员,而不是在另一个文件中提取我的模块,例如
const admin = require("firebase-admin");
它说我需要初始化它。干杯。