为什么本地模块不会使用 Cloud Functions for Firebase 加载
Why won't local modules load using Cloud Functions for Firebase
我发现 Cloud Functions for Firebase 使用 package.json
文件加载 dependencies,但调用我的函数时出现错误:
Code in file index.js can't be loaded.
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module 'express'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/user_code/rest_api.js:2:17)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
这是我的 index.js
文件:
const processor = require('./processor.js');
exports.processThing = functions.https.onRequest((req, res) => {
let param = req.body.param;
processor.process(param);
});
requiring Node modules 时不包括文件扩展名。您的 require
应该是:
const processor = require('./processor');
Firebase CLI 应该会处理剩下的事情。它将像您的 package.json
需要的依赖项一样捆绑它。
您需要使用以下命令将 express 模块依赖项安装到 package.json 文件中
npm install express 只需确保安装在正确的文件夹中意味着您需要将其安装到 functions 文件夹
喜欢~/NodejsProjects/AMZFIRE/功能$ npm install express
然后你会在package.json
中看到
"dependencies":{
"express": "^4.16.3"
}
就是这样!!!
我发现 Cloud Functions for Firebase 使用 package.json
文件加载 dependencies,但调用我的函数时出现错误:
Code in file index.js can't be loaded.
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module 'express'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/user_code/rest_api.js:2:17)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
这是我的 index.js
文件:
const processor = require('./processor.js');
exports.processThing = functions.https.onRequest((req, res) => {
let param = req.body.param;
processor.process(param);
});
requiring Node modules 时不包括文件扩展名。您的 require
应该是:
const processor = require('./processor');
Firebase CLI 应该会处理剩下的事情。它将像您的 package.json
需要的依赖项一样捆绑它。
您需要使用以下命令将 express 模块依赖项安装到 package.json 文件中 npm install express 只需确保安装在正确的文件夹中意味着您需要将其安装到 functions 文件夹
喜欢~/NodejsProjects/AMZFIRE/功能$ npm install express
然后你会在package.json
中看到"dependencies":{
"express": "^4.16.3"
}
就是这样!!!