首页 > 解决方案 > Angular - 覆盖(仅)环境的一个属性

问题描述

我有一个 Angular 应用程序,我为不同的客户创建了不同的环境:

{
name: client1,
address: client 1 address,
... a lot of variables
variableToChange: thisWantModify
}

当我这样做时,一切对我来说都很好

ng serve --configuration = client1

或者

ng build --configuration = client1

变量工作正常。

我遇到的问题是,当我这样做时,我想更改那个(并且只有那个)变量(ToChange 变量)的值

ng build --configuration = client1

我知道一种解决方案是复制环境并使用

ng build --configuration = client1build

但我有很多客户,它会使环境文件的数量增加一倍。

有可能以其他方式做到这一点吗?

谢谢

标签: angularenvironment-variablesdevelopment-environment

解决方案


实现此目的的一种方法是在 environment.ts 文件中为可能需要在环境中覆盖的属性添加占位符。然后创建一个自定义脚本,该脚本将用适当的值替换该占位符,然后调用 ng build。


推荐阅读