ImportModuleError aws lambda。找不到模块“./json.js”
Posted
技术标签:
【中文标题】ImportModuleError aws lambda。找不到模块“./json.js”【英文标题】:ImportModuleError aws lambda. Cannot find module './json.js' 【发布时间】:2021-12-16 23:27:44 【问题描述】:我正在使用 esbuild 来捆绑我的 lambda 函数。 这是我捆绑依赖项的脚本:
"scripts":
"build": "./node_modules/.bin/esbuild src/lambdaHandler/index.js --bundle --outfile=out/index.js --platform=node --target=node12 --sourcemap --define:process.env.NODE_ENV=\\\"dev\\\"",
...
,
我使用apollo-server-lambda
与我的 lambda 通信,然后尝试使用预定义数据模拟一些解析器。然后我部署了我的 lambda,一切正常。之后,我使用已经工作的服务来获取一些数据并从我的一个解析器返回它,并尝试构建和部署我的 lambda。我得到了这个错误。我没有安装任何额外的依赖项。所以我想它与我在解析器中的更改或esbuild
配置有关。但我不确定。有没有人遇到过类似的问题?
P.S.:完整的堆栈跟踪:
"errorType": "Runtime.ImportModuleError",
"errorMessage": "Error: Cannot find module './json.js'\nRequire stack:\n- /var/task/index.js\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js",
"trace": [
"Runtime.ImportModuleError: Error: Cannot find module './json.js'",
"Require stack:",
"- /var/task/index.js",
"- /var/runtime/UserFunction.js",
"- /var/runtime/index.js",
" at _loadUserApp (/var/runtime/UserFunction.js:100:13)",
" at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)",
" at Object.<anonymous> (/var/runtime/index.js:43:30)",
" at Module._compile (internal/modules/cjs/loader.js:1072:14)",
" at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)",
" at Module.load (internal/modules/cjs/loader.js:937:32)",
" at Function.Module._load (internal/modules/cjs/loader.js:778:12)",
" at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)",
" at internal/main/run_main_module.js:17:47"
]
enter code here
【问题讨论】:
你能发布整个错误响应,如果可能的话也分享 lambda 代码? @Ruben,不确定我是否可以,因为它是 NDA 下的项目)我只能分享部分代码进行更改。但我添加了堆栈跟踪) 【参考方案1】:此错误与用于记录的'winston'
包相关联。 esbuild
无法正确捆绑它。因此,作为一种解决方法,您可以在 aws lambda 函数构造函数的捆绑选项中指定 nodeModules: ['winston']
。
【讨论】:
以上是关于ImportModuleError aws lambda。找不到模块“./json.js”的主要内容,如果未能解决你的问题,请参考以下文章
Runtime.ImportModuleError 错误:找不到模块“axios/lib/utils”无服务器
需要 SOAP - Node JS 包失败并在 AWS Lambda 中出现导入错误