Open Klaster1 opened 2 days ago
This behavior is expected since the define
configuration is derived from the build
section of the angular.json
file when executing ng serve
.
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:application",
"options": {
"define": {
"GGCC_TARGET": "'hosted'"
},
Sorry, but I don't get it. Do you suggest to edit the "angular.json" instead of passing an env var, which worked for my team for years?
Does the value of GGCC_TARGET
need to change between various ng serve
invocations where its value is set via an environment variable?
Yes, I pass different values to run the app in different configurations, i.e with some fractures hidden and different brandings.
This feature request is now candidate for our backlog! In the next phase, the community has 60 days to upvote. If the request receives more than 20 upvotes, we'll move it to our consideration list.
You can find more details about the feature request process in our documentation.
Command
serve
Description
I want to pass environment variables into the application during serve and build. In Angular 19, this works for build:
ng build --define="GGCC_TARGET='hosted'"
, while this doesn't for serve:ng serve --define="GGCC_TARGET='hosted'"
, with the following error:Describe the solution you'd like
The
--define
argument works for both serve and build commands.Describe alternatives you've considered
The custom "@ngx-env/builder:application" builder works, but I'd prefer to keep the amount of extra libraries to a minimum. Given how that builder is merely a thin wrapper around "@angular/build:application", I don't see why this couldn't work as I expect out of the box.