2017-09-03 364 views
0

为什么不会局部模块加载时使用云功能,我发现,对火力地堡云功能使用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); 
}); 

回答

1

你不包括文件扩展名requiring Node modules时。你require应改为:

const processor = require('./processor'); 

的火力地堡CLI应采取其他的事情。它会捆绑它,就像您的package.json需要的依赖项。