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

时间:2020-04-25 11:22:41

标签: angular build angular-cli

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

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
             ..

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

1 个答案:

答案 0 :(得分:0)

文件替换是用于捆绑软件,而不是资产。以前在工作是个小故障。

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

但是要解决此问题,请参见https://github.com/angular/angular-cli/issues/16779