angular cli 6自定义构建选项(环境变量)

时间:2018-07-18 15:25:00

标签: angular angular-cli-v6

好吧,我不希望在版本控制中包含环境变量,因为我希望能够配置应用程序而无需再次完全部署应用程序。

我有一个问题。如何从ng build命令中添加angular cli 6自定义选项? 例如,我希望执行以下操作:ng build --api-url =“ http:/my-url.com” 换句话说,如何设置环境变量?

1 个答案:

答案 0 :(得分:0)

我相信这可能会对您有所帮助。

对于我自己的项目,我有4个环境文件,

  1. environment.ts(对于我的本地主机)
  2. environment.dev.ts(用于我的开发测试服务器)
  3. environment.staging.ts(用于我的登台测试服务器)
  4. environment.prod.ts(用于我的项目的生产服务器)

所有4个文件都有不同的API URL(我项目的API调用的基本URL),因此我需要为每个环境自定义构建。

现在,我相信您的情况大致相同,因此建议您创建不同的环境文件。

然后在angular.json文件中,您需要按以下方式定义这些配置:

"configurations": {
            "production": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ],
              ...
              ...
              ...
              ...
            },
            "staging": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.staging.ts"
                }
              ],
              ...
              ...
              ...
              ...
            },
            "dev": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.dev.ts"
                }
              ],
              ...
              ...
              ...
              ...
            }
          }

定义所有配置后,您需要做的就是使用配置选项运行ng build命令。

  • 对于开发人员ng build --configuration=dev
  • 用于暂存ng build --configuration=staging
  • 用于生产ng build --configuration=production

就是这样。现在,您的构建将使用适当的环境文件。