【问题标题】:Support multiple index.html according to env nginx and Angular 5根据 env nginx 和 Angular 5 支持多个 index.html
【发布时间】:2019-05-12 19:23:14
【问题描述】:

我正在运行 Angular 5,并且必须根据 env 构建更改 index.html。所以我在angular-cli.json 中使用了多个"apps":declaration,其中--app=0 有开发环境,--app=1 有生产环境。
--app=1"index": "index.prod.html"
当我部署并转到我的域时,我得到:

我正在使用 nginx,而我的 default.conf

server {
    ...
    root   /usr/share/nginx/html;

    location / {
        autoindex on;
        try_files $uri $uri/ /index.html;
        index  index.html index.htm;
    }
    ...
}

我想到 nginx 没有得到我正确的 index.html 被命名为 index.prod.html(如在我的 dist 文件夹中看到的那样),并落入 nginx.html。
我遇到的问题是我需要支持index.htmlindex.prod.html,因为我有不同的环境,我也可以部署它们。

我怎样才能做到这一点? 谢谢。

【问题讨论】:

  • 如果升级到 Angular 6+ 会更容易,那么有一个新的 angular.json 配置可能会解决您的问题。在 Angular 6+ 中,configurations 下有一个名为 fileReplacements 的配置,您可以根据环境进行设置
  • 您好,感谢您的回答。我知道升级会解决我所有的问题,但我现在不能这样做,因为这是一个巨大的应用程序。我不得不用我现在拥有的东西来解决这个问题。
  • 它会解决您的问题,并且您必须在某个时候升级。越早越简单。
  • 尝试将配置的两行更改为try_files $uri $uri/ /index.prod.html /index.html;index index.prod.html index.html;

标签: angular nginx nginx-location


【解决方案1】:

我正在运行 Angular 8.0

|__src/ |__index.html |__索引/ |__产品/ |index.html |***/ |__index.html

angular.json 中的配置

“配置”:{ “产品”:{

          "index": "src/index/prod/index.html",              
         
        },

修改 package.json 中的构建脚本

“脚本”:{ “ng”:“ng”, “开始”:“ng服务”, “构建”:“ng构建”, "build:prod": "ng build --prod" }

【讨论】:

    猜你喜欢
    • 2018-08-18
    • 2018-06-23
    • 2018-01-03
    • 2013-01-04
    • 1970-01-01
    • 2015-05-30
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    相关资源
    最近更新 更多