Angular 由模块'中的应用程序初始值设定项填充的角度使用服务;ngs@ngs模块装饰器
我需要使Angular应用程序环境独立,因此我在Angular 由模块'中的应用程序初始值设定项填充的角度使用服务;ngs@ngs模块装饰器,angular,configuration-files,environment,angular7,Angular,Configuration Files,Environment,Angular7,我需要使Angular应用程序环境独立,因此我在app.module.ts中实现了一个函数,它从文件系统获取配置文件: export function load(http: HttpClient, configService: ConfigService): () => Promise<boolean> { return (): Promise<boolean> => { return new Promise<boolean>(
app.module.ts
中实现了一个函数,它从文件系统获取配置文件:
export function load(http: HttpClient, configService: ConfigService): () => Promise<boolean> {
return (): Promise<boolean> => {
return new Promise<boolean>(
(resolve: (a: boolean) => void): void => {
http
.get('./assets/config.json')
.pipe(
map((config: ConfigModel) => {
configService.config = config;
resolve(true);
}),
catchError(
(x: { status: number }, caught: Observable<void>): ObservableInput<{}> => {
if (x.status !== 404) {
resolve(false);
}
console.log('Config file could not be loaded, thus using default configuration.');
configService.config = configService.defaultConfig;
resolve(true);
return of({});
}
)
)
.subscribe();
}
);
};
}
在组件中使用动态填充的配置,只需注入ConfigService
并对其调用.config
,就可以很好地工作
我现在面临一个问题,需要在app.module.ts
的import语句中为模块的forRoot()方法提供配置:
imports: [
NgMsAdalModule.forRoot(## I need configService.config.adalConfig here! ##)
]
如何在模块的NgModule
decorator中提供ConfigService
?您是否考虑过使用Angular Universal注入环境设置?我们通过Docker/Bambol构建过程实现了这一点,并取得了巨大成功。@Brandon您是否有任何资源可以进一步探讨如何使用Angular Universal注入环境设置?正是我自己的经验。我应该写一篇博文。在此期间,我将与你分享我所掌握的任何知识。
imports: [
NgMsAdalModule.forRoot(## I need configService.config.adalConfig here! ##)
]