Angular 由模块'中的应用程序初始值设定项填充的角度使用服务;ngs@ngs模块装饰器

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>(

我需要使Angular应用程序环境独立,因此我在
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! ##)
]