【发布时间】:2017-10-04 02:58:50
【问题描述】:
如果我使用从 github 下载的节点 js 文件,它可以完美运行。
但是如果我更改文件(即使我只添加一个空格)。我得到以下错误。知道为什么会这样吗?
{
"errorMessage": "Cannot find module '/var/task/index'",
"errorType": "Error",
"stackTrace": [
"Function.Module._load (module.js:276:25)",
"Module.require (module.js:353:17)",
"require (internal/module.js:12:17)"
]
}
【问题讨论】:
-
如果不查看实际代码并了解您的 lambda 配置,这很难说。代码是否依赖于某些节点模块? lambda 代码是如何推送的?是通过 zip 文件、s3 还是内嵌代码?以下信息会有所帮助: 1. 您从 github 下载的代码有效。 2.AWS Lambda配置截图
-
@NeerajSharma 谢谢。我正在关注这个示例。 bypeopletechnologies.com/blog/2017/05/01/… 如果我上传相同的文件,它可以工作。但是如果我在 js 文件中添加一个空格。我收到上述错误。我不确定为什么会这样。由于没有对此文件进行任何更改,它可以完美运行。
-
您无法在 AWS 控制台中内联更改 JS 文件,因为您上传了一个 zip 文件。如果要更改代码,您应该按照以下步骤操作: 1. 在笔记本电脑中解压缩 2. 更改代码 3. 创建具有适当依赖关系的 zip 文件 4. 上传 zip 文件 您是这样进行更改的吗?跨度>
-
@NeerajSharma 是的,我就是这么做的。我已经在我的笔记本电脑中解压缩了文件。更改.js 文件。将其压缩回去并将压缩文件重新上传到 lambda 。我刚刚添加了一个额外的空间来测试它。所以依赖关系还是一样的。
-
当您遇到该错误时,请导出函数并查看结果。如果你有类似 prettifier 的东西会重写你的代码,那可能就是原因。
标签: javascript node.js amazon-web-services amazon-s3 lambda