我需要为生产环境使用不同的index.html
。因此,我创建了一个index.prod.html
文件,在angular.json
中,我使用生产环境的fileReplacements
配置。
"build": {
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/index.html",
"with": "src/index.prod.html"
}
],
...
}
}
}
当我运行应用程序(ng-server(时,一切都很好,无论是为dev还是prod-env运行,它都会加载相应的index.html
问题是构建,它也为prod-env构建了index.html。
我在Angular 8中遇到了完全相同的问题,还想替换索引文件。我仍然想知道为什么ng serve
和ng build
在这里的工作方式不同,但在下面的问题中找到了解决这个问题的另一个解决方案:如何在ng serve和ng build中使用不同的index.html文件?。
我切换为使用--index
参数进行构建。因此,我将不同的index.html
文件添加到一个额外的文件夹中,并将它们在package.json
中链接到类似的不同构建中
"build:test": "ng build --index /src/index-files/test/index.html"
"build:prod": "ng build --index /src/index-files/prod/index.html"
通过这种方式,正常的src/index.html
被参考的/src/index-files/{test|prod}/index.html
版本所取代。
提示:此解决方案仅适用于ng build
,因为ng serve
没有--index
选项。但就我而言,这没有问题。