我正在尝试在AWS Lambda中对我自己的lib做一个简单的要求,但它无法找到它。我错过了什么?
var a = require('./lib/a');
exports.handler = function(event, context, callback) {
callback(null, 'Testing');
}
是的,这在本地测试时有效,但在压缩和部署时则无效。我只是压缩文件,而不是目录,删除需要使它工作。
{
"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)"
]
}
目录结构: index.js LIB / a.js
答案 0 :(得分:2)
我只是压缩文件
尝试从AWS Lambda控制台下载您的软件包。您将收到一个zip文件,并尝试在本地计算机上提取该文件。你能看到里面有lib
的{{1}}文件夹吗?
有可能,您上传的zip文件可能错过了a.js
目录。