Angular 5在app.module.ts中使用运行时环境变量

时间:2018-10-15 16:51:27

标签: angular okta

我有一个用于身份验证的第三方模块-OktaAuthModule。

要使其导入我的根模块(app.module.ts),首先需要像这样配置它-

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

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

我需要生成一个可以部署到多个运行时的构建,每个运行时对此模块都有不同的配置。

使用内置的“ ng build --env”效果很好,但需要多次构建。在处理完此“导入”数组之后,APP_INITIALIZER挂钩似乎开始运行。

我希望进行一次API调用,该API调用可以在每次部署应用程序时提取此信息。我不知道在哪里可以在app.module.ts文件中添加此代码?

在此先感谢您的任何建议。

1 个答案:

答案 0 :(得分:1)

在制定针对不同环境的Bamboo部署计划时,我遇到了类似的问题。每个环境都必须有专门的版本。我不太喜欢,所以我最终完成了main.js的自动编辑。环境变量嵌入其中,因此您可以像我一样对每个enc进行修改。