Динамическая замена файлов во время сборки в angular.json с использованием переменных Env - PullRequest
1 голос
/ 13 мая 2019

У нас есть проект Angular 7, и мы пытаемся заменить файлы динамически, не определив все разные файлы в файле angular.json. Например, когда вы используете флаг --prod после ng build, angular.json заменит environment.ts на environment.prod.ts.

У нас есть другой файл, который содержит параметры конфигурации приложения, которые меняются в зависимости от установки. Например, если мы развертываем проект для одного клиента, мы можем захотеть запустить ng build --prod --configuration=clientOne, чтобы использовать специальный файл конфигурации этого клиента. В этом сценарии вы ожидаете увидеть что-то похожее на приведенное ниже в файле angular.json.

"clientOne": {
  "fileReplacements": [{
    "replace": "src/app/clientSettings.ts",
    "with": "src/app/clientSettings.clientOne.ts"
  }]
}

Вот основной вопрос : Как мы можем попросить angular.json заменить файл clientSettings.ts другими файлами на основе флагов среды, таких как --configuration=clientOne, без фактического указания каждой опции в angular.json. Мы не хотим, чтобы другие разработчики, использующие программное обеспечение, знали, какие у нас есть установки, и нам не нужно знать, какие у них есть. Мы хотим динамически заменять файлы, не указывая, где они находятся. Мы можем игнорировать файл, но это не кажется практичным.

...