node.js - AWS Lambda 找不到我的模块

标签 node.js aws-lambda

我试图在 AWS Lambda 中对我自己的库进行简单的要求,但它找不到它。我错过了什么?

var a = require('./lib/a');

exports.handler = function(event, context, callback) {
    callback(null, 'Testing');

}

是的,这在本地测试时有效,但在压缩和部署时无效。我只压缩文件,而不是目录,并删除 require 使其工作。

{
  "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)"
  ]
}

目录结构: 索引.js lib/a.js

最佳答案

I am zipping just the file

尝试从 AWS Lambda 控制台下载您的程序包。您将收到一个 zip 文件并尝试将其解压到本地计算机上。您能看到里面有 a.jslib 文件夹吗?

您上传的 zip 文件很可能错过了 lib 目录。

关于node.js - AWS Lambda 找不到我的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45585526/

相关文章:

node.js - Assetic、twitter bootstrap 等

node.js - 将 React 应用程序部署到 github 页面。获取...net::ERR_ABORTED

mysql - SQL:在已经存在的数据库和表上使用create是否不好?

javascript - 为什么所有属性都 undefined object 不被列为空?

node.js - Amazon Lambda 上来自 ffmpeg 的 SIGSEGV

javascript - 亚马逊 lambda : "Handler ' handle' missing on module 'exports' "

javascript - VB.NET TCP 客户端与 NODE-RED TCP 监听器进行双向通信

amazon-web-services - 如何获取 AWS Lambda 函数中阶段的名称?

python - Lambda函数根据标签过滤AWS EC2实例?

amazon-web-services - 为什么我得到这个 {"message": "Internal server error" } from Postman