Devi usare la nuova configuration
opzione (funziona anche per ng build
e ng serve
)
ng serve --configuration=local
o
ng serve -c local
Se guardi il tuo angular.json
file, vedrai che hai un controllo più preciso sulle impostazioni per ogni configurazione (aot, ottimizzatore, file di ambiente, ...)
"configurations": {
"production": {
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
]
}
}
Puoi ottenere maggiori informazioni qui per la gestione di configurazioni specifiche dell'ambiente.
Come indicato nell'altra risposta di seguito, se è necessario aggiungere un nuovo "ambiente", è necessario aggiungere una nuova configurazione all'attività di compilazione e, a seconda delle esigenze, anche alle attività di servizio e test .
Aggiunta di un nuovo ambiente
Modifica : per chiarire, le sostituzioni di file devono essere specificate nella build
sezione. Quindi, se si desidera utilizzare ng serve
con un environment
file specifico (ad esempio dev2 ), è innanzitutto necessario modificare la build
sezione per aggiungere una nuova configurazione dev2
"build": {
"configurations": {
"dev2": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.dev2.ts"
}
/* You can add all other options here, such as aot, optimization, ... */
],
"serviceWorker": true
},
Quindi modifica la tua serve
sezione per aggiungere anche una nuova configurazione, indicando la configurazione dev2 che build
hai appena dichiarato
"serve":
"configurations": {
"dev2": {
"browserTarget": "projectName:build:dev2"
}
Quindi è possibile utilizzare ng serve -c dev2
, che utilizzerà il file di configurazione dev2
angular-cli
fianco dell'intera app, quindi ho pensato che fosse ovvio:]