【发布时间】:2019-10-08 12:30:32
【问题描述】:
我想使用环境感知应用设置(我的原始问题和答案在这里:Angular & Docker: Environment aware configuration),效果很好。 不幸的是,某些模块(如 MSAL)在导入模块时需要配置。例如:
MsalModule.forRoot({
clientID: AppSettingsSingletonService.instance.msalConfig.clientId,
redirectUri: AppSettingsSingletonService.instance.msalConfig.redirectUri,
})
您可能已经看到了问题:我需要加载一个服务来获取配置实例,不幸的是,到目前为止,我还没有找到一种方法来在调用模块之前强制加载。尝试 APP_INITIALZER 也不起作用:
providers: [
{
provide: APP_INITIALIZER,
useFactory: initApp,
deps: [
AppInitService
],
multi: true
},
],
export function initApp(appInitService: AppInitService) {
return () => {
return appInitService.initializeAppAsync();
};
}
由于(对我而言)硬编码这些数据没有意义,是否有可能在导入模块之前加载服务?
【问题讨论】: