问题描述
我的angular-cli.json
具有环境数组。
"environmentsSource": "environments/environment.ts"
"environments": {
"dev": "environments/environment.ts","prod": "environments/environment.prod.ts"
在environment.ts
中,
export const environment = {
production: false
};
在environment.prod.ts
export const environment = {
production: true
};
在main.ts
中,
if (environment.production) {
enableProdMode();
}
"scripts": {
"ng": "ng","start": "ng serve","build": "ng build"
我有不同的环境,例如dev / qa和prod。网址不同,如何只为一个package.json文件切换模式?
构建和部署过程是自动进行的。构建时我们无法更改设置。
解决方法
您需要在CLI中引用configuration
。
运行生产环境的示例。
ng serve --configuration=prod
这会将environment.ts
文件替换为environment.prod.ts
。
您可以在环境文件中设置所有需要的变量(url,...)。
在代码中,您只需要读取环境文件。它将由有角度的CLI配置参数代替。您可以在angular.json
文件中对此参数进行设置。
"configurations": {
"prod": {
"fileReplacements": [
{
"replace": "apps/afh/src/environments/environment.ts","with": "apps/afh/src/environments/environment.prod.ts"
}
],...
}
}
,
在main.ts
中,我检查了document.location.host
的值。如果它包含特定的子字符串,那么我
enableProdMode()