如何在多个Node.js模块中使用一个初始化的Firebase Admin实例?

时间:2017-01-20 08:25:29

标签: node.js firebase firebase-admin

解决: 我通过同时将我的工作模块导入我的Firebase配置模块来初始化它们,同时将我的Firebase配置模块导入我的工作模块,从而创建循环依赖!哇,事后看起来很愚蠢,我正在撕扯我的头发!

所以这基本上是这个问题的重复: solving circular dependency in node using requirejs

我首先将工人带到第二个,然后将firebase定义为第二个,因此显然没有在工作模块阶段定义它。

原创--------------------

在我的客户端应用程序中,我倾向于使用一个文件模式来初始化我的Firebase应用程序,然后将该初始化的应用程序导出为模块,然后我可以在其他地方导入。我在我的节点服务器中尝试使用此Firebase管理员,但它仍然未定义。

什么被认为是初始化Firebase Admin应用程序然后在其他模块中使用该实例的最佳做法? 感谢

编辑:添加代码抱歉。我错过了几个步骤,但firebase实例在此文件中运行正常,我只是在导出它时遇到问题。

 const admin = require("firebase-admin");
 const Admin = admin.initializeApp({
  credential: "my_credential",
  databaseURL: "my database"
 });

 module.exports.Admin = Admin;

然后在其他地方我试图导入该管理员并向其添加refs,如:

 const firebase = require('../myFirebaseModule);
 const Admin = firebase.Admin;

 const ref = Admin.database().ref();

但是得到它未定义的错误。或者,如果我尝试从包中提取firebase admin而不是在另一个文件中提取我的模块,例如

 const admin = require("firebase-admin"); 

它说我需要初始化它。欢呼声。

0 个答案:

没有答案