我有一个简单的exports.js文件,我已压缩文件夹并将其上传到Lambda但在运行时它会出错:
"errorMessage": "Cannot find module 'exports'",
"errorType": "Error",
"stackTrace":
[
"Function.Module._resolveFilename (module.js:338:15)",
"Function.Module._load (module.js:280:25)",
"Module.require (module.js:364:17)",
"require (module.js:380:17)"
]
任何帮助将不胜感激。 感谢
答案 0 :(得分:2)
1.将文件命名为exports.js
2.在文件中指定处理程序exports.handler
exports.handler = function (event, context)
{
var YourSkill = new YourSkill();
YourSkill.execute(event, context);
}
3.将lambda配置中的处理程序设置为exports.handler
4.仅提取文件夹的内容,如果您将文件夹压缩,也无法找到您的文件。
5.重命名zip文件exports.zip
答案 1 :(得分:0)
在您的目录中包含名为node_modules
的目录。
压缩index.js + node_modules
目录并上传。
答案 2 :(得分:-1)
我有类似的经历。虽然我所做的是无服务器,但我认为错误仍然相关,因为它也来自AWS lambda。这是我看到的错误:
Unable to import module 'src/handlers/list': Error
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> (/var/task/src/handlers/list.js:400:18)
at __webpack_require__ (/var/task/src/handlers/list.js:20:30)
at Object.<anonymous> (/var/task/src/handlers/list.js:370:18)
at __webpack_require__ (/var/task/src/handlers/list.js:20:30)
at /var/task/src/handlers/list.js:63:18
at Object.<anonymous> (/var/task/src/handlers/list.js:66:10)
我正在使用webpack,我通过删除webpack.config.js中的库来解决它,库名称不言自明。
我所做的是从webpack.config.js中删除这一行:
const nodeExternals = require("webpack-node-externals");
如果您需要更多详细信息,请与我们联系。谢谢