【问题标题】:Angular CLI fileReplacements for default/development默认/开发的 Angular CLI 文件替换
【发布时间】:2019-02-15 18:55:55
【问题描述】:

我有一个相当复杂的angular.json,因为我有多个项目。我想要的是每个项目单独的 environment.ts 文件。在构建目标为生产环境时替换环境文件似乎非常简单:

"configurations": {
  "production": {
    "fileReplacements": [
      {
        "replace": "src/environments/environment.ts",
        "with": "src/private-label/redacted/environments/environment.prod.ts"
      }
    ],
  }
}

我正在寻找一种对默认/开发配置执行相同操作的方法。 angular.json 不包含我能找到的任何配置节点,因此我不确定是否可以和/或在不针对生产时指定 fileReplacements 的位置。

当然,如果有更好的方法来处理我没有看到的每个项目的环境,我也会对此感兴趣。

【问题讨论】:

    标签: angular-cli angular-cli-v7


    【解决方案1】:

    我假设 “默认/开发配置” 您指的是 ng serve 命令提供的服务。

    选项1:替换环境文件:

    您也可以在build 对象中指定fileReplacements 数组(这个用于ng serve)。

      "build": {
        "options": {
          [...]
          "fileReplacements": [
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.development.ts"
            }
          ]      
        },
        "configurations": {
          // other - non default - configurations 
        }
      }
    

    选项 2:指定默认配置:

    如果您想使用ng serve 提供现有配置,您可以更改serve 选项:

      "configurations": {
        "youConfigName": {
          // config details here
        }
      },
      [...]
      "serve": {
        "options": {
          "browserTarget": "name-of-your-app:build:youConfigName"
        }
      }
    

    重点是使用:yourConfigName设置构建配置目标。


    这两个选项都是按项目配置的,因此您可以完全控制。

    【讨论】:

      【解决方案2】:

      @jowey 的答案有效,但对 Angular 8 有一个小扩展。我必须在 url 前面加上 ./

      "replace": "./src/environments/environment.ts", "with": "./src/environments/environment.development.ts"

      【讨论】:

        【解决方案3】:

        此外,请务必执行正确的命令来启动/服务您的应用。就我而言,我使用 Azure Pipelines 部署到 Azure App Service,命令是:

        请注意,“--configuration=production”是强制性的,以实现文件替换。

        我还将“fileReplacements”部分放在 angular.json 文件的“build”和“configuration”部分中:

        【讨论】:

        • 将替换放置在配置之外是否意味着您将始终在生产环境中构建?在这种情况下,您用于 DEV 和 PROD 的命令是什么?
        猜你喜欢
        • 1970-01-01
        • 2019-07-10
        • 2016-07-15
        • 2014-03-13
        • 1970-01-01
        • 2019-06-18
        • 2022-11-03
        • 2017-02-12
        • 1970-01-01
        相关资源
        最近更新 更多