fileReplacements в angular.cli обслуживают конфигурацию - PullRequest
1 голос
/ 25 апреля 2019

У меня есть требование заменить файлы в моем приложении Angular с использованием fileReplacements, но, похоже, это доступно только в build конфигурациях, а не serve конфигурациях.

Вот выдержка из моего angular.json:

"serve": {
  "builder": "@angular-devkit/build-angular:dev-server",
  "options": {
    "browserTarget": "SupplierPortal:build"
  },
  "configurations": {
    "production": {
      "browserTarget": "SupplierPortal:build:production"
    },
    "fr": {
      "fileReplacements": [
        {
          "replace": "src/environments/environment.ts",
          "with": "src/environments/environment.fr.ts"
        }
      ],
      "browserTarget": "SupplierPortal:build:fr"
    }
}

Но компилятор жалуется:

Проверка схемы не удалась со следующими ошибками:

Путь к данным "" НЕ должен иметь дополнительных свойств (fileReplacements).

Можно ли иметь конфигурации для различных сборок подачи?

1 Ответ

1 голос
/ 26 апреля 2019

Ты почти понял.После указания fileReplacements в ваших конфигурациях сборки, просто нужно указать конфигурации обслуживания, какую конфигурацию сборки использовать.

Затем вы можете выполнить ng serve -c=fr, и подача применит конфигурацию сборки fr :

{
  "build": {
    "builder": "@angular-devkit/build-angular:browser",
    "configurations": {
      "fr": {
        "fileReplacements": [{
          "replace": "src/environments/environment.ts",
          "with": "src/environments/environment.fr.ts"
        }]
      }
    }
  },
  "serve": {
    "builder": "@angular-devkit/build-angular:dev-server",
    "options": {
      "browserTarget": "SupplierPortal:build"
    },
    "configurations": {
      "production": {
        "browserTarget": "SupplierPortal:build:production"
      },
      "fr": {
        "browserTarget": "SupplierPortal:build:fr"
      }
    }
  }
}
...