Angular + Azure DevOps (TFS): замена токенов в файле environment.ts, независимая от среды угловая сборка - PullRequest
0 голосов
/ 31 октября 2018

Допустим, у нас есть токенизированный environment.ts файл, такой как:

export const environment = {
  production: #{production}#
}

где production тип должен быть boolean.

Теперь мы хотим ng build, чтобы мы получили независимую от среды сборку, которую мы можем развернуть в любой среде. При развертывании в определенной среде мы просто заменяем токены в main.js или main.*.js (вот где файл environment.ts связан).

Проблема в том, что ng build завершается ошибкой, так как выше environment.ts имеет ошибки компиляции.

Есть ли способ, как этого добиться? Как создать независимую от среды угловую сборку приложения, которую можно развернуть в любой среде с любой конфигурацией?

PS: это задание используется для замены токенов

1 Ответ

0 голосов
/ 31 октября 2018

Это то, что я дошел до сих пор:

export const environment = {
   production: !!'#{production}#',
}

Когда переменная VSTS production не пуста, тогда !!'#{production}#' разрешается в true, в противном случае в false.

Поскольку VSTS игнорирует переменные со значением пустой строки (""). Важно установить переменную production для ложного значения как:

enter image description here

в соответствии с настройками задачи:

enter image description here

...