当我尝试部署我的功能时,firebase 提示这个:
const admin = require('firebase-admin');
const functions = require('firebase-functions');
const C = require('../both/constants.js');
exports.myFunc = functions.database.ref('aRef').onCreate((event) => {
// blah blah
}
Error: Error parsing triggers: Cannot find module '../both/constants.js'
但不是这个:
const admin = require('firebase-admin');
const functions = require('firebase-functions');
// This is the invite that goes to organizations.
exports.myFunc = functions.database.ref('aRef').onCreate((event) => {
const C = require('../both/constants.js');
}
这是为什么?
更新 :看起来会发生这种情况,因为该函数直到运行时才会查找依赖项。这当然是一个问题,因为仍然需要依赖项。我应该提到我的项目如下所示:
both
constants.js
functions
index.js
myFunc.js
更新 2 现在我将我的堆栈完全转移到 Firebase 函数,我又回到了这个问题上。需要发布模块才能在函数中工作。对于任何发生在这个 psot 上的人,仅供引用。
最佳答案
将函数代码放在 functions
以外的任何位置不支持目录。请注意,当您部署它时,它会这样说:
i functions: preparing functions directory for uploading...
i functions: packaged functions (34.06 KB) for uploading
✔ functions: functions folder uploaded successfully
它只看
functions
及其所有子文件夹。如果我部署的代码需要
functions
之外的代码,我还在控制台中看到“找不到模块”错误。
关于node.js - Cloud Functions for Firebase 中的本地依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46557230/