到AWS的Angular Serverless部署会将base-href附加到url,导致重定向到404Error

Alb*_* Ng 6 aws-lambda angular-universal angular serverless

我正在尝试将angular 7网站部署到无服务器的AWS上。刚开始时,我遵循了本教程:https : //coursetro.com/posts/code/165/Deploying-your-Angular-App-to-a-Serverless-Environment-

部署后,我的url附加了一个额外的“ production / ”,我认为这是由于我的base-href设置所致。

这会导致不必要的重定向到404。有人知道如何避免这种情况吗? 导航菜单效果很好

输入的网址:

https://7z48go76gd.execute-api.ap-southeast-1.amazonaws.com/production

加载后:

https://7z48go76gd.execute-api.ap-southeast-1.amazonaws.com/production/production

我尝试过环境.prod.ts,environment.serverless.ts以及具有不同变体但没有运气的package.json文件。

environment.serverless.ts / environment.prod.ts:

export const environment = {
  production: true,
  BASE_URL: 'https://tj2rdz0qn1.execute-api.ap-southeast-1.amazonaws.com/production',
  // when you deploy your app to your own server you should replace the BASE_URL with the target domain for example:
  // BASE_URL: 'https://site-preview.angular-templates.io',
  baseHref: '/'
};
Run Code Online (Sandbox Code Playgroud)

package.json:

  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "lint": "ng lint crc-web",
    "build:client-and-server-bundles": "ng build --prod && ng run crc-web:server:production",
    "build:ssr": "npm run build:client-and-server-bundles && npm run compile:server",
    "compile:server": "tsc -p server.tsconfig.json",
    "serve:ssr": "node dist/server",
    "build:browser:prod": "ng build --prod",
    "build:browser:serverless": "ng build --prod --base-href /production/",
    "build:serverless": "npm run build:browser:serverless && npm run build:server:serverless",
    "build:prod": "npm run build:browser:prod && npm run build:server:prod",
    "server": "node local.js",
    "build:prod:deploy": "npm run build:prod && npm run deploy",
    "build:serverless:deploy": "npm run build:serverless && npm run deploy",
    "deploy": "serverless deploy",
    "build:server:prod": "ng run crc-web:server && webpack --config webpack.server.config.js --progress --colors",
    "build:server:serverless": "ng run crc-web:server:serverless && webpack --config webpack.server.config.js --progress --colors --max_old_space_size=8192",
    "fix-memory-limit": "cross-env LIMIT=2048 increase-memory-limit"
  },
Run Code Online (Sandbox Code Playgroud)

Woj*_*h K 2

尝试这个:

npm 运行构建:产品:部署

该脚本build:prod:deploy不会覆盖您的基本目录。

该脚本npm run build:serverless:deploy将 base-href 设置为“/生产/”(查看 package.json 中的 build:browser:serverless 脚本)。

这看起来像是 Serverless Angular Universal 中的不一致,可能会导致 API 网关阶段或自定义域出现多个问题。

如果这没有解决您的问题,请发布 src/app/app-routing.module.ts 和 serverless.yml 的内容