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



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

"errorType": "Runtime.ImportModuleError", "错误消息": "错误:找不到模块'serverless-http'需要堆栈:

-/var/task/app.js-/var/runtime/UserFunction.js-/var/runtime/index.js",所以我很困惑。我做错了什么?转换现有快速应用程序的指南并没有说我们需要创建一个 AWS Lambda 层,但由于 Lambda 似乎找不到无服务器 http 模块,这是否意味着创建层是解决方法?

编辑:我的.zip文件似乎只是一个快速.js文件。我不确定这是否不寻常,但在线阅读显示大多数人似乎也压缩了一个node_modules文件夹?我认为.zip文件中缺少node_module文件夹导致了此运行时。导入模块错误失败?如果是这种情况,如何让无服务器添加node_modules文件夹?

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

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

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

相关内容

最新更新