У нас есть проект 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
. Мы не хотим, чтобы другие разработчики, использующие программное обеспечение, знали, какие у нас есть установки, и нам не нужно знать, какие у них есть. Мы хотим динамически заменять файлы, не указывая, где они находятся. Мы можем игнорировать файл, но это не кажется практичным.