Estou tentando atualizar meu aplicativo Angular 5.2 para Angular 6. Segui com êxito as instruções no guia de atualização Angular (incluindo a atualização angular-cli
para a v6) e agora estou tentando veicular o aplicativo via
ng serve --env=local
Mas isso me dá erro:
Opção desconhecida: '--env'
Eu uso vários ambientes ( dev/local/prod
), e é dessa maneira que estava funcionando no Angular 5.2. Como posso definir o ambiente agora no Angular 6?
angular
angular6
angular-cli
Martin Adámek
fonte
fonte
angular-cli
junto com o aplicativo inteiro, então pensei que era óbvio:]Respostas:
Você precisa usar a nova
configuration
opção (isso funciona parang build
eng serve
também)ou
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, ...)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 usarng serve
umenvironment
arquivo específico (por exemplo, dev2 ), primeiro precisará modificar abuild
seção para adicionar um novo dev2 configuração doEm seguida, modifique sua
serve
seção para adicionar uma nova configuração também, apontando para o dev2build
configuração você acabou de declararEntão você pode usar
ng serve -c dev2
, o que usará o arquivo de configuração dev2fonte
baseHref
opçãoVSCode
. EmAngular 6
claro. Para que ong serve
comando inclua a porta do depurador remoto ao iniciar oChrome
navegador.Essa resposta parece boa.
no entanto, isso me levou a um erro, pois resultou em
Configuration 'xyz' could not be found in project ...
erro na compilação.
É necessário não apenas atualizar configurações de compilação , mas também servir outras.
Então, só para não deixar confusões:
--env
não é suportado emangular 6
--env
foi alterado para--configuration
||-c
(e agora é mais poderoso)angular.json
arquivo:{ ... "build": "configurations": ...
fileReplacements
parte (mas há mais opções disponíveis){ ... "serve": "configurations": ...
browserTarget="your-project-name:build:staging"
fonte
Podes tentar:
ng serve --configuration=dev/prod
Para construir use:
ng build --prod --configuration=dev
Espero que você esteja usando um tipo diferente de ambiente.
fonte
Para Angular 2 - 5, consulte o artigo Multiple Environment in angular
Para uso em Angular 6
ng serve --configuration=dev
fonte
Você pode usar o comando
ng serve -c dev
para o ambiente de desenvolvimentong serve -c prod
para de produçãoenquanto a construção também se aplica. Você pode usar
ng build -c dev
para a compilação do desenvolvedorfonte
Angular não suporta mais --env, você deve usar
para o ambiente de desenvolvimento e,
para produção.
NOTA:
-c
ou--configuration
fonte
-c
(com traço único) ou--configuration
(com traços duplos).Use este comando para Angular 6 para criar
fonte