【发布时间】: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.html 和index.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