Как настроить среду через НГ в угловые 6
Я пытаюсь обновить свое приложение angular 5.2 до angular 6. Я успешно выполнил инструкции в angular update guide (включая обновление angular-cli до v6), и теперь я пытаюсь обслуживать приложение через
ng serve --env=local
но это дает мне ошибку:
неизвестный вариант: '--env'
Я использую несколько сред (dev/local/prod), и именно так он работал в 5.2. Как я могу установить среду теперь в angular 6?
5 ответов:
вы должны использовать новый (это работает для
ng buildиng serveа)ng serve --configuration=localили
ng serve -c localесли вы посмотрите на свой
angular.jsonfile, вы увидите, что у вас есть более точный контроль над настройками для каждой конфигурации (aot, оптимизатор, файлы среды,...)"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" } ] } }вы можете получить дополнительную информацию здесь для управления конфигурациями конкретной среды.
как указано в другом ответе ниже, если вам нужно добавить новую "среду", вам нужно добавить новую конфигурацию в построить задач и, в зависимости от ваших потребностей, к служить и тест а также задачи.
добавление новой среде
Edit: Чтобы было понятно, замены файлов должны быть указаны в . Так что если вы хотите использовать
ng serveконкретной (скажем dev2), ты первый нужно изменитьbuildРаздел для добавления нового 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 },изменить для добавления новой конфигурации, а также, указывая на dev2
buildконфигурация, которую вы только что объявили"serve": "configurations": { "dev2": { "browserTarget": "projectName:build:dev2" }затем вы можете использовать
ng serve -c dev2, который будет использовать файл конфигурации dev2
The https://stackoverflow.com/a/50174679/1484847 ответ кажется хорошим. однако, это привело меня к ошибке, как это произошло с
Configuration 'xyz' could not be found in project ...ошибки в построении. Это requierd не только для обновления построить конфигурации, а также служить те.так что просто не оставляйте путаницы:
--envНе поддерживается вangular 6--envизменился на--configuration|/-c(и сейчас мощный)- для управления различными envs, в дополнение к добавлению нового файла среды, теперь требуется внести некоторые изменения в :
- добавить новую конфигурацию в построить
{ ... "build": "configurations": ...свойства- новая конфигурация может содержать только
fileReplacementsчасть, (но больше вариантов доступны)- добавить новую конфигурацию в служить
{ ... "serve": "configurations": ...свойства- новая служить конфигурация должны быть
browserTarget="your-project-name:build:staging"
можно попробовать:
ng serve --configuration=dev/prodдля сборки используйте:
ng build --prod --configuration=devнадеюсь, что вы используете другой вид окружающей среды.
для угловых 2-5 см. статью множественная окружающая среда в угловом
для углового использования 6
ng serve --configuration=devПримечание: см. ту же статью для углового 6, а также. Но везде, где вы найдете
--envвместо того, чтобы использовать--configuration. Это хорошо работает для углового 6.
Comments