简体   繁体   English

AWS Lambda + Angular web 应用抛出“错误:找不到模块‘@vendia/serverless-express’”

[英]AWS Lambda + Angular web app throwing "Error: Cannot find module '@vendia/serverless-express'"

I am trying to deploy angular web app on AWS serverless Lambda following the tutorial https://medium.com/better-programming/getting-started-with-serverless-angular-universal-on-aws-lambda-8754bcc4dc19我正在尝试按照教程https://medium.com/better-programming/getting-started-with-serverless-angular-universal-on-aws-lambda-8754bcc4dc19在 AWS 无服务器 Lambda 上部署 angular web 应用程序

It was working fine till last week, but started to throw error "Error: Cannot find module '@vendia/serverless-express'" even though there is no mention of '@vendia/serverless-express' anywhere.直到上周它都运行良好,但开始抛出错误“错误:找不到模块'@vendia/serverless-express'”,即使在任何地方都没有提到'@vendia/serverless-express'。 The generated lambda.js uses'aws-serverless-express'.生成的lambda.js使用'aws-serverless-express'。

Installed '@vendia/serverless-express' through npm, it got added to package.json.通过 npm 安装“@vendia/serverless-express”,它被添加到 package.json。 Deployed post that, still error is reported.部署后,仍然报告错误。

Steps to reproduce:重现步骤:

  1. Ensure angular version is 7 or less as toolkit doesn't work with higher version确保 angular 版本为 7 或更低,因为工具包不适用于更高版本
  2. ng new project-name --style css --routing false ng 新项目名称 --style css --routing false
  3. cd project-name cd 项目名称
  4. ng add @ng-toolkit/universal@7.1.2 ng 添加@ng-toolkit/universal@7.1.2
  5. npm run build:prod npm 运行构建:prod
  6. npm run server npm 运行服务器
  7. ng add @ng-toolkit/serverless@8.1.0 ng 添加@ng-toolkit/serverless@8.1.0
  8. npm i serverless-api-compression npm i 无服务器 API 压缩
  9. npm run build:serverless:deploy npm 运行构建:无服务器:部署

Let me know in case of any further information required.如果需要任何进一步的信息,请告诉我。 Thanks in advance!提前致谢!

aws-serverless-express has rebranded to @vendia/serverless-express . aws-serverless-express 已更名为 @vendia/serverless-express The new path is not yet included in ng-toolkit's serverless-aws.yml file and that is what is causing the issue.新路径尚未包含在 ng-toolkit 的serverless-aws.yml文件中,这就是导致问题的原因。

Adding the following in the serverless.yml excludes would solve the issue.serverless.yml excludes中添加以下内容可以解决问题。

- '!node_modules/@vendia/**'

End result would be something like最终结果会是这样的

package:
  exclude:
   - src/**
   - node_modules/**
   - firebug-lite/**
   - e2e/**
   - coverage/**
   - '!node_modules/@vendia/**'
   - '!node_modules/aws-serverless-express/**'
   - '!node_modules/binary-case/**'
   - '!node_modules/type-is/**'
   - '!node_modules/media-typer/**'
   - '!node_modules/mime-types/**'
   - '!node_modules/mime-db/**'

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

相关问题 带有 AWS Lambda 错误“找不到模块”的无服务器框架 - Serverless Framework with AWS Lambda error "Cannot find module" 错误:在 NodeJS AWS 中找不到模块“aws-sdk” Lambda Function - Error: Cannot find module 'aws-sdk' in NodeJS AWS Lambda Function 无服务器 AWS Lambda CORS 错误 - Serverless AWS Lambda CORS Error 构建基本 Web 应用程序教程中的 AWS Lambda“找不到模块 aws-sdk” - AWS Lambda "cannot find module aws-sdk" in Build a Basic Web Application tutorial 在 Lambda 中找不到模块“aws-cloudfront-sign” - Cannot find module 'aws-cloudfront-sign' in Lambda AWS lambda 无服务器中不存在此类文件错误 - AWS lambda no such file exists error in serverless 错误:找不到模块“aws-api-gateway-client” - Error: Cannot find module 'aws-api-gateway-client' 使用无服务器框架将 Python package 部署到 AWS lambda 时出错 - Error deploying Python package to AWS lambda using Serverless framework AWS Lambda Function 返回“找不到模块‘索引’”,但配置中的处理程序设置为索引 - AWS Lambda Function is returning "Cannot find module 'index'" yet the handler in the config is set to index 使用无服务器框架在 lambda AWS 中授予授权代码 - Authorization code grant in lambda AWS with Serverless Framework
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM