我有一个相当复杂的angular.json
,因为我有多个项目。我希望每个项目有单独的environment.ts文件。当构建目标是生产环境时,替换环境文件似乎非常简单:
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/private-label/redacted/environments/environment.prod.ts"
}
],
}
}
我正在寻找的是一种对默认/开发配置执行相同操作的方法。 angular.json
没有包含我可以找到的类似内容的配置节点,因此我不确定在不针对生产目标时是否可以和/或在何处指定fileReplacements
。
当然,如果有一个更好的方法来处理每个我看不到的项目的环境,我也会对此感兴趣。
答案 0 :(得分:0)
我假定使用“默认/开发配置” 是指ng serve
命令提供的服务。
选项1:替换环境文件:
您还可以在fileReplacements
对象中指定build
数组(此数组用于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
设置构建配置目标。
这两个选项都是针对每个项目配置的,因此可以让您完全控制。
答案 1 :(得分:0)
@jowey的答案有效,但对Angular 8进行了小扩展。我必须在URL前面添加./
“替换”:“ ./ src / environments / environment.ts”, “ with”:“ ./src/environments/environment.development.ts”
答案 2 :(得分:0)