0

我正在使用 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配置中的更改有关。但我不确定。有没有人遇到过类似的问题?

PS:完整的堆栈跟踪:

{
  "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
4

1 回答 1

0

此错误与'winston'用于记录的包相关联。它不能被正确捆绑esbuild。因此,作为一种解决方法,您可以nodeModules: ['winston']在 aws lambda 函数构造函数中指定捆绑选项。

于 2021-11-03T14:18:41.133 回答