Angular 5 Используйте переменные среды выполнения в app.module.ts - PullRequest
0 голосов
/ 15 октября 2018

У меня есть сторонний модуль, который я использую для аутентификации - OktaAuthModule.

Чтобы его можно было импортировать в мой корневой модуль (app.module.ts), его необходимо сначала настроить следующим образом:

const config = {
   url: https://myurl.com/
}

@NgModule({
   declarations: [ ... ],
   imports: [
      OktaAuthModule.initAuth(config),
   ],
   ...
});

Мне нужно создать одну сборку, которая может быть развернута в нескольких средах исполнения, каждая из которых имеет свою конфигурацию для этого модуля.

Использование встроенной "ng build --env" работает нормально, но требует нескольких сборок.Хуки APP_INITIALIZER, похоже, запускаются после обработки этого массива «import».

Я надеялся сделать вызов API, который мог бы извлекать эту информацию при каждом развертывании приложения.Я понятия не имею, где я могу добавить этот код в файл app.module.ts?

Заранее благодарен за любые советы / предложения.

1 Ответ

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

Я сталкивался с подобной проблемой при составлении планов развертывания Bamboo для различных сред.Каждый env должен был иметь специальную сборку.Мне это не очень понравилось, поэтому я занялся автоматическим редактированием main.js.Переменные окружения встроены туда, так что вы можете изменить это по энкпу, как я.

...