Я пытаюсь обновить приложение Angular 5.2 до Angular 6. Я успешно следовал инструкциям в руководстве по обновлению Angular (включая обновление angular-cli
до v6), и теперь я пытаюсь обслуживать приложение через
ng serve --env=local
Но это дает мне ошибку:
Неизвестная опция: '--env'
Я использую несколько сред ( dev/local/prod
), и это работает так же в Angular 5.2. Как я могу установить среду сейчас в Angular 6?
angular
angular6
angular-cli
Мартин Адамек
источник
источник
angular-cli
вместе со всем приложением, так что я подумал, что это очевидно:]Ответы:
Вам нужно использовать новую
configuration
опцию (это работаетng build
иng serve
для)или
Если вы посмотрите на свой
angular.json
файл, вы увидите, что у вас есть более точный контроль над настройками для каждой конфигурации (например, оптимизатор, файлы среды, ...)Вы можете получить больше информации здесь для управления специфичными для среды конфигурациями.
Как указано в другом ответе ниже, если вам нужно добавить новую «среду», вам нужно добавить новую конфигурацию в задачу сборки, а также, в зависимости от ваших потребностей, в задачи обслуживания и тестирования .
Добавление новой среды
Редактировать : чтобы было понятно, замены файлов должны быть указаны в
build
разделе. Поэтому, если вы хотите использоватьng serve
с конкретнымenvironment
файлом (скажем, dev2 ), вам сначала нужно изменитьbuild
раздел, чтобы добавить новую конфигурацию dev2Затем измените
serve
раздел, чтобы добавить новую конфигурацию, указывая на конфигурацию dev2, которуюbuild
вы только что объявилиТогда вы можете использовать
ng serve -c dev2
, который будет использовать конфигурационный файл dev2источник
baseHref
вариантVSCode
. ВAngular 6
конечно. Так чтоng serve
команда включает в себя порт удаленного отладчика при запускеChrome
браузера.Этот ответ кажется хорошим.
однако, это привело меня к ошибке, поскольку это привело к
Configuration 'xyz' could not be found in project ...
ошибке в сборке.
Он необходим не только для обновления конфигураций сборки , но и для обслуживания .
Так что просто не надо путать
--env
не поддерживается вangular 6
--env
переоделись в--configuration
||-c
(и теперь более мощный)angular.json
файл:{ ... "build": "configurations": ...
fileReplacements
часть (но доступно больше опций){ ... "serve": "configurations": ...
browserTarget="your-project-name:build:staging"
источник
Можешь попробовать:
ng serve --configuration=dev/prod
Для построения использовать:
ng build --prod --configuration=dev
Надеюсь, вы используете другой тип среды.
источник
Для угловых 2 - 5 см. Статью Multiple Environment in angular
Для Angular 6 использовать
ng serve --configuration=dev
источник
Вы можете использовать команду
ng serve -c dev
для среды разработкиng serve -c prod
для производственной средыв то время как строительство также применяется. Вы можете использовать
ng build -c dev
для сборки Devисточник
Angular больше не поддерживает --env, вместо этого вы должны использовать
для среды разработки и,
для производства.
ПРИМЕЧАНИЕ:
-c
или--configuration
источник
-c
(с одной чертой) или--configuration
(с двойной чертой ).Используйте эту команду для Angular 6, чтобы построить
источник