繁体   English   中英

无服务器部署到 AWS Lambda 缺少模块?

[英]Serverless deployment to AWS Lambda missing modules?

第一次在这里处理无服务器。 在遵循将现有快速应用程序迁移到无服务器的指南后,已使用无服务器部署成功部署。 但是 aws lambda 不断抛出错误:

“errorType”:“Runtime.ImportModuleError”,“errorMessage”:“错误:找不到模块'serverless-http'\n需要堆栈:\n- /var/task/app.js\n- /var/runtime/UserFunction。 js\n- /var/runtime/index.js”,

所以我很困惑。 我究竟做错了什么? 转换现有 express 应用程序的指南没有说我们需要创建一个 AWS Lambda 层,但是由于 Lambda 似乎找不到 serverless-http 模块,这是否意味着创建一个层是解决方法?

编辑: my.zip 文件似乎只是一个 express.js 文件 我不确定这是否不寻常,但在线阅读显示大多数人似乎也有一个 node_modules 文件夹压缩了? 我认为 .zip 文件中缺少 node_module 文件夹导致此 runtime.ImportModuleError 失败? 如果是这种情况,如何让无服务器添加 node_modules 文件夹?

node_modules 文件夹通常与您的代码一起打包 - 只要它存在于您的目录中(是吗?)。

如果本地计算机上未安装 node_modules,则可以使用npm install命令创建它。 此命令将安装 package-lock.json 文件(或 package.json)中列出的所有依赖项——对不起,我不是节点人:(。

但听起来你肯定没有上传你的 node_modules 文件夹,因为它不在你的本地机器上。 您必须先初始化目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM