Devi usare la nuova configurationopzione (funziona anche per ng builde ng serve)
ng serve --configuration=local
o
ng serve -c local
Se guardi il tuo angular.jsonfile, 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 buildsezione. Quindi, se si desidera utilizzare ng servecon un environmentfile specifico (ad esempio dev2 ), è innanzitutto necessario modificare la buildsezione 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 servesezione 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-clifianco dell'intera app, quindi ho pensato che fosse ovvio:]