Как передать параметры конфигурации в угловые библиотеки?
Я создаю библиотеку-оболочку auth-lib для некоторых существующих (и находящихся вне моего контроля) библиотек аутентификации (например, keycloak-angular). Библиотеки аутентификации, которые я упаковываю, должны быть инициализированы параметрами конфигурации во время инициализации приложения или начальной загрузки, что работает при жестком кодировании конфигураций внутри моей библиотеки Wrapper, но я не могу заставить его работать с инъекцией или forRoot из образца приложения для моей оболочки библиотека.
Как передать параметры конфигурации из моего примера приложения через мою библиотеку-оболочку в библиотеки аутентификации?
1 ответ
Вы можете передать конфигурацию из App.Module, используя forRoot
в ваш библиотечный модуль.
Попробуйте вот так:
App.module.ts
imports: [
BrowserModule,
AuthLibModule.forRoot({
configuration: {configA : "abc", configB : "xyz"}
})
]
AuthLibModule.module.ts
export class AuthLibModule{
static forRoot(configuration): ModuleWithProviders {
console.log(configuration);
return {
ngModule: AuthLibModule,
providers: [AuthLibService,{provide: 'config', useValue: configuration}]
};
}
}
AuthLibService.service:
export class AuthLibService{
constructor(@Inject('config') private config:any) {
console.log(config)
}
}