我对每个客户都有不同的环境设置,每个客户都有自己的环境 {{custName}} / environment.prod.ts文件。 我想通过ng build --prod命令使用它们各自的prod环境文件。 我面临的问题甚至是在使用默认环境指定环境之后。prod.ts
我的 package.json 具有类似
的脚本{.....
customer_a : "ng build --prod --environment=custA_prod",
....}
在 angular-cli.json 中,我提到了类似这样的路径
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts",
"qa": "environments/environment.qa.ts",
"custA_prod": "environments/custA/environment.prod.ts"
}
是否可以使用prod build的所有功能,但具有一些不同的环境设置?
答案 0 :(得分:1)
在环境文件上标记为生产模式:
environments / custA / environment.prod.ts文件:
export const environment = {
production: true,
envName: "custA_prod",
.....
};
或添加main.ts您的自定义检查:
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
if (environment.production || environment.envName == 'custA_prod') {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule);
答案 1 :(得分:1)
我认为定义新环境的相对路径存在问题。
步骤1: 在环境目录中为custA创建产品环境文件。 例如 environment.custA.prod.ts
export const environment = {
mock: false,
production: true,
development: false,
title: 'prod'
}
第2步: 在 .angular-cli.json
中定义环境environments: {
"dev": "environments/environment.app.ts",
"prod": "environments/environment.app.prod.ts",
"mock": "environments/environment.app.mock.ts",
"prod-custA": "environments/environment.custA.prod.ts"
}
第3步: 在 package.json
中定义一个脚本start-prod-custA : "ng build --prod --environment=prod-custA"
答案 2 :(得分:1)
Angular 6+之后,angular.cli.json已替换为angular.json。我们应该使用--configuration作为波纹管
package.json
"build_dev": "npm run && ng build --configuration=test",
angular.json
...
"configurations": {
.....
"test": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.test.ts"
}
]
}
}