Reputation: 9008
In Angular 5, we could generate build for different environments using
ng build --prod --env=uat
After migration to Angular 6 the above command throws error
Unknown option: '--env'
Upvotes: 28
Views: 33441
Reputation: 57
Prod: ng build --prod
Qa: ng build --configuration=qa
angular.json
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
]
},
"qa": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.qa.ts"
}
]
}
PROD:
export const environment = {
production: true,
api : 'https://example.com'
}
QA:
export const environment = {
production: true,
api : 'https://example-Qa.com'
}
dev environment
export const environment = {
production:false,
api : 'https://example-dev.com'
}
Upvotes: 0
Reputation: 101
I have tested in an Angular 6 Project.
ng build --prod --configuration=uat
doesn't seem to work as it only picks uat configuration when you run this command and ignores --prod
flag and doesn't apply any optimization such as aot, minification and upglification etc.
Running ng build --prod --configuration=uat
has the effect as same as only running ng build --configuration=uat
. In order to apply any other configuration options we need to add them explicitly in the uat build options in angular.json
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true
},
"uat": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.test.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true
}
}
}
Upvotes: 10
Reputation: 9008
One needs to use the configuration option
ng build --prod --configuration=uat
or
ng build --prod -c uat
More information here
Also for ng serve same option as answered here
Upvotes: 39