我正在使用 Firebase 函数,涉及数百个函数,现在在单个 index.js
文件中管理它变得非常困难,就像他们的许多示例中所展示的那样。
我尝试将这些函数拆分到多个文件中,例如:
--firebase.json
--functions
--node_modules
--index.js
--package.json
--app
--groupFunctions.js
--authFunctions.js
--storageFunctions.js
在这个结构中,我将我的函数分为三类,并将它们放在三个文件中:groupFunctions.js
、authFunctions.js
和storageFunctions.js
。然后我试图在index.js
中导入这些文件,但我不知道为什么它对我不起作用。这是
groupFunctions.js
:var functions = require('firebase-functions');
module.exports = function(){
exports.onGroupCreate = functions.database.ref('/groups/{groupId}')
.onWrite(event => {
console.log(`A group is created in database named:${event.params.groupId}.`);
// some logic...
//...
})
}
这里是index.js
文件:
var functions = require('firebase-functions');
module.exports = require("./app/groupFunctions")();
我的编辑器在这段代码中没有给出任何警告。但是,当我使用 firebase deploy --only functions
部署此代码时,它不会部署函数。如果一些函数已经存在于 firebase 控制台上,则在部署时它会删除所有函数。
问题也在 GitHub 上提出。
admin.initializeApp(functions.config().firebase);
应该放在哪里?因为当调用initializeApp()
超过一次时,Firebase会返回错误... - Andrew See