我用javascript构建firebase功能。现在我有很多内部调用函数,我打算将这些函数移动到不同的文件中以避免index.js变得非常混乱。
以下是当前的文件结构:
/functions
|--index.js
|--internalFunctions.js
|--package.json
|--package-lock.json
|--.eslintrc.json
我想知道:
1)如何从internalFunctions.js导出函数并将其导入index.js。
2)如何从index.js调用internalFunctions.js函数。
我的代码是用JavaScript编写的。
被修改
internalFunction.js将具有多个功能。
答案 0 :(得分:7)
首先在文件中设置功能:
<强> internalFunctions.js:强>
module.exports = {
HelloWorld: function test(event) {
console.log('hello world!');
}
};
或者如果你不喜欢乱花括号:
module.exports.HelloWorld = function(event) {
console.log('hello world!');
}
module.exports.AnotherFunction = function(event) {
console.log('hello from another!');
}
您还可以使用其他样式: https://gist.github.com/kimmobrunfeldt/10848413
然后在 index.js 文件中将文件导入为模块:
const ifunctions = require('./internalFunctions');
然后您可以直接在触发器或HTTP处理程序中调用它:
ifunctions.HelloWorld();
示例:强>
//Code to load modules
//...
const ifunctions = require('./internalFunctions');
exports.myTrigger = functions.database.ref('/myNode/{id}')
.onWrite((change, context) => {
//Some of your code...
ifunctions.HelloWorld();
//A bit more of code...
});