Угловая 6: Несколько конфигураций (среды twas)

Попытка получить угловое cli для распознавания нескольких конфигураций в angular.json

C:\_dev\myapp>ng serve --configuration development
Configuration 'development' could not be found in project 'myapp'.
Error: Configuration 'development' could not be found in project 'myapp'.

Фрагмент:

    "configurations": {
        "production": {
          "fileReplacements": [
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.production.ts"
            }
          ],
          "optimization": true,
          "outputHashing": "all",
          "sourceMap": false,
          "extractCss": true,
          "namedChunks": false,
          "aot": true,
          "extractLicenses": true,
          "vendorChunk": false,
          "buildOptimizer": true
        },
        "development": {
          "fileReplacements": [
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.development.ts"
            }
          ],
          "optimization": false,
          "outputHashing": "all",
          "sourceMap": true,
          "extractCss": true,
          "namedChunks": true,
          "aot": false,
          "extractLicenses": false,
          "vendorChunk": true,
          "buildOptimizer": false
        }
      }

src/environments/environment.development.ts существует

ng serve --configuration production 

работает отлично

Ответ 1

Существует configurations входа в build и в serve раздел файла angular.json. Часть сервисов также должна знать о вашей настраиваемой конфигурации. Предполагая, что ваше имя конфигурации отлаживается, добавьте его в раздел обслуживания следующим образом

"projects": {
  "myApp": {
     [...]
     "architect": {
       "build": {
         [...]
         "configurations": {
           "production": { [...] },
           "debug": { [...] }
         }
       },
       "serve": {
         [...]
         "configurations": {
           "production": {
             "browserTarget": "myApp:build:production"
           },
           "debug": {
             "browserTarget": "myApp:build:debug"
           }
         }
       }
     }
   }
 }

Не забудьте настроить myApp на имя вашего проекта, равное прямому ребенку в разделе project в вашем angular.json. Также оба debug должны соответствовать вашей конфигурации в разделе build.

Затем выполните

ng serve --configuration=debug

Ответ 2

Для Углового 2 - 5 обратитесь к статье за пошаговое решение для использования множественной среды в угловых

Для Angular 6 используйте ng serve --configuration=dev

Примечание. См. Ту же статью для углового 6. Но где бы вы ни находили --env используйте --configuration. Это хорошо работает для углового 6.