Próbuję zaktualizować moją aplikację Angular 5.2 do Angular 6. Pomyślnie wykonałem instrukcje zawarte w przewodniku aktualizacji Angular (w tym aktualizacja angular-cli
do wersji 6), a teraz próbuję obsługiwać aplikację za pośrednictwem
ng serve --env=local
Ale to daje mi błąd:
Nieznana opcja: „--env”
Używam wielu środowisk ( dev/local/prod
) i tak to działało w Angular 5.2. Jak mogę teraz ustawić środowisko w Angular 6?
angular
angular6
angular-cli
Martin Adámek
źródło
źródło
angular-cli
wraz z całą aplikacją, więc pomyślałem, że to oczywiste:]Odpowiedzi:
Musisz użyć nowej
configuration
opcji (działa to również w przypadkung build
ing serve
)lub
Jeśli spojrzysz na swój
angular.json
plik, zobaczysz, że masz lepszą kontrolę nad ustawieniami każdej konfiguracji (aot, optymalizator, pliki środowiskowe, ...)Możesz uzyskać więcej informacji tutaj do zarządzania środowisko specyficzne konfiguracje.
Jak wskazano w innej odpowiedzi poniżej, jeśli chcesz dodać nowe „środowisko”, musisz dodać nową konfigurację do zadania kompilacji oraz, w zależności od potrzeb, również do zadań serwowania i testowania .
Dodawanie nowego środowiska
Edycja : aby było jasne, w
build
sekcji należy określić zamiany plików . Więc jeśli chcesz używaćng serve
z określonymenvironment
plikiem (powiedzmy dev2 ), musisz najpierw zmodyfikowaćbuild
sekcję, aby dodać nową konfigurację dev2Następnie zmodyfikuj
serve
sekcję, aby dodać również nową konfigurację, wskazując na właśnie zadeklarowaną konfigurację dev2build
Następnie możesz użyć
ng serve -c dev2
, który użyje pliku konfiguracyjnego dev2źródło
baseHref
opcjaVSCode
. WAngular 6
oczywiście. Abyng serve
polecenie zawierało port zdalnego debugera podczas uruchamianiaChrome
przeglądarki.Ta odpowiedź wydaje się dobra.
jednak doprowadziło mnie to do błędu, ponieważ spowodowało
Configuration 'xyz' could not be found in project ...
błąd w kompilacji.
Wymagane jest nie tylko zaktualizowanie konfiguracji kompilacji , ale także obsługę .
Aby nie pozostawiać nieporozumień:
--env
nie jest obsługiwany wangular 6
--env
został zmieniony w--configuration
||-c
(i jest teraz silniejszy)angular.json
pliku:{ ... "build": "configurations": ...
fileReplacements
część (ale dostępnych jest więcej opcji){ ... "serve": "configurations": ...
ServbrowserTarget="your-project-name:build:staging"
źródło
Możesz spróbować:
ng serve --configuration=dev/prod
Aby zbudować użyj:
ng build --prod --configuration=dev
Mam nadzieję, że używasz innego rodzaju środowiska.
źródło
W przypadku Angular 2 - 5 patrz artykuł Multiple Environment in angular
Do użycia z Angular 6
ng serve --configuration=dev
źródło
Możesz użyć polecenia
ng serve -c dev
dla środowiska programistycznegong serve -c prod
dla środowiska produkcyjnegopodczas budowania obowiązuje to samo. Możesz użyć
ng build -c dev
do kompilacji deweloperskiejźródło
Angular nie obsługuje już --env zamiast tego musisz użyć
dla środowiska programistycznego oraz
do produkcji.
UWAGA:
-c
lub--configuration
źródło
-c
(z pojedynczą kreską) lub--configuration
(z podwójnymi myślnikami).Użyj tego polecenia, aby zbudować Angular 6
źródło