在Angular 9中,如何在ng构建期间替换assets文件夹中的配置文件



我有一个Angular 6项目,现在已升级为Angular 9。升级后,我无法将assets文件夹中的.json配置文件替换为environments文件夹中的配置文件。environments文件夹中有几个配置文件,对应于不同的暂存环境。当使用以下命令构建应用程序时,

ng build --prod --base-href=/ --configuration=staging_<number>

所有替换列表都在angular.json中提到,类似

{
...
"projects":{
...
"architect":{
...
"build":{
...
"configurations"{
"staging_<number>": {
"budgets": [
{
"type": "anyComponentStyle",
"maximumWarning": "6kb"
}
],
"fileReplacements": [
{
"replace": "src/assets/appsettings_config.json",
"with": "src/environments/appsettings_config_stg_<number>.json"
}
],
"sourceMap": true
..

在升级之前,替换件工作良好。现在,当我运行上面的命令时,应用程序将使用assets文件夹中已经存在的相同配置文件进行构建。即appsettings_config.json而不是appsettings_config_stg_<number>.json。Angular版本6和9在文件替换功能上有什么区别?

文件替换用于捆绑包,而不是资产。这是一个故障,它以前工作。

Angular团队正在努力解决这个问题,但似乎他们有更重要的事情(https://github.com/angular/angular-cli/issues/8808)。

但是,有关解决方法,请参阅https://github.com/angular/angular-cli/issues/16779

最新更新