ли как-то на основе этого значения передать переменные в imports этого же модуля?
Пример: библиотека получает environment и на основе его решает какие reducers использовать для StoreModule.
Пробовал вот так, но судя по всему imports тут не должны находиться:
@NgModule(...)
export class CoreModule {
public static forRoot(environment: any): ModuleWithProviders {
return {
ngModule: CoreModule,
imports: [
StoreModule.forRoot(reducers, { metaReducers: getMetaReducers(environment) }),
EffectsModule.forRoot([]),
],
providers: [
{
provide: 'env',
useValue: environment
}
]
};
}
}
Этого не получится сделать, если вы используете AOT. https://angular.io/guide/aot-compiler#metadata-errors Добавить enviroment в DI сможете, а выстраивать по нему динамичекие провайдеры - нет.
Обсуждают сегодня