Você precisa usar a nova configuration
opção (isso funciona para ng build
e ng serve
também)
ng serve --configuration=local
ou
ng serve -c local
Se você olhar para o seu angular.json
arquivo, verá que possui um controle mais preciso sobre as configurações de cada configuração (AOT, otimizador, arquivos de 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"
}
]
}
}
Você pode obter mais informações aqui para gerenciar configurações específicas do ambiente.
Conforme apontado na outra resposta abaixo, se você precisar adicionar um novo 'ambiente', precisará adicionar uma nova configuração à tarefa de construção e, dependendo de suas necessidades, ao serviço e teste tarefas de .
Adicionando um novo ambiente
Editar : para deixar claro, as substituições de arquivos devem ser especificadas na build
seção. Portanto, se você quiser usar ng serve
um environment
arquivo específico (por exemplo, dev2 ), primeiro precisará modificar a build
seção para adicionar um novo dev2 configuração do
"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
},
Em seguida, modifique sua serve
seção para adicionar uma nova configuração também, apontando para o dev2 build
configuração você acabou de declarar
"serve":
"configurations": {
"dev2": {
"browserTarget": "projectName:build:dev2"
}
Então você pode usar ng serve -c dev2
, o que usará o arquivo de configuração dev2
angular-cli
junto com o aplicativo inteiro, então pensei que era óbvio:]