在多个文件中组织Firebase功能|部署错误

时间:2018-10-20 12:48:39

标签: javascript firebase google-cloud-functions

因此,根据this Medium post,我尝试将Firebase函数拆分为不同的文件。 我的index.js看起来像这样:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
const glob = require("glob");
const camelCase = require("camelcase");
const files = glob.sync('./**/*.f.js', { cwd: __dirname, ignore: './node_modules/**'});

admin.initializeApp(functions.config().firebase);

for(let f=0,fl=files.length; f<fl; f++){
  const file = files[f];
  const functionName = camelCase(file.slice(0, -5).split('/').join('_')); // Strip off '.f.js'
  if (!process.env.FUNCTION_NAME || process.env.FUNCTION_NAME === functionName) {
exports[functionName] = require(file);
  }
}

函数所在的我的文件test.f.js位于某些子文件夹中,如下所示:

const functions = require('firebase-functions');
exports.addNew = functions.https.onRequest((request, response) => {
...
})

我的子文件夹称为“ dev”和“ User”,文件名为“ Test”,函数为“ addNew”

当我尝试部署时,出现以下错误:

⚠ functions[devUserTest-addNew(us-central1)]: Deployment error. Function load error: Node.js module defined by file index.js is expected to export function named devUserTest.addNew

我希望有人可以为这个问题提供解决方案。

坦克!

0 个答案:

没有答案