Node.js AWS Lambda can';我找不到我的模块
我试图在AWS Lambda中对我自己的lib做一个简单的需求,但它找不到。我错过了什么Node.js AWS Lambda can';我找不到我的模块,node.js,aws-lambda,Node.js,Aws Lambda,我试图在AWS Lambda中对我自己的lib做一个简单的需求,但它找不到。我错过了什么 var a = require('./lib/a'); exports.handler = function(event, context, callback) { callback(null, 'Testing'); } 是的,这在本地测试时有效,但在压缩和部署时无效。我只是压缩文件,而不是目录,删除require可以让它工作 { "errorMessage": "Cannot find
var a = require('./lib/a');
exports.handler = function(event, context, callback) {
callback(null, 'Testing');
}
是的,这在本地测试时有效,但在压缩和部署时无效。我只是压缩文件,而不是目录,删除require可以让它工作
{
"errorMessage": "Cannot find module './lib/a'",
"errorType": "Error",
"stackTrace": [
"Function.Module._load (module.js:417:25)",
"Module.require (module.js:497:17)",
"require (internal/module.js:20:19)",
"Object.<anonymous> (/var/task/index.js:1:77)",
"Module._compile (module.js:570:32)",
"Object.Module._extensions..js (module.js:579:10)",
"Module.load (module.js:487:32)",
"tryModuleLoad (module.js:446:12)",
"Function.Module._load (module.js:438:3)"
]
}
{
“errorMessage”:“找不到模块./lib/a”,
“errorType”:“Error”,
“stackTrace”:[
“Function.Module._load(Module.js:417:25)”,
“Module.require(Module.js:497:17)”,
“要求(内部/module.js:20:19)”,
“对象。(/var/task/index.js:1:77)”,
“模块编译(Module.js:570:32)”,
“Object.Module._extensions..js(Module.js:579:10)”,
“Module.load(Module.js:487:32)”,
“tryModuleLoad(module.js:446:12)”,
“Function.Module.\u加载(Module.js:438:3)”
]
}
目录结构:
index.js
lib/a.js
我正在压缩文件
尝试从AWS Lambda控制台下载您的软件包。您将收到一个zip文件,并尝试在本地计算机上解压缩该文件。你能看到里面有a.js
的lib
文件夹吗
很有可能,您上载的zip文件可能错过了
lib
目录。“我正在压缩文件,而不是目录”。如果你没有在zip文件中包含/lib
目录,那么你怎么能指望Lambda找到模块呢?我觉得自己像个十足的白痴。不,它只是不在那里,我正在为Amazon修改一个旧的构建脚本,并且lib目录没有添加到zip文件中。谢谢