Я создал проект Angular Library для аутентификации, чтобы абстрагировать поставщика, которого я использую. Поскольку проекты угловой библиотеки не поддерживают настройку среды, я ищу способ, с помощью которого проект приложения-потребителя сможет передать конфигурацию в проект библиотеки. Я видел, как люди предлагали реализовать метод forRoot
для модуля библиотеки, но я не уверен, как использовать его в декораторе NgModule
модуля Authentication. Например:
@NgModule({
imports: [
ProviderAuthModule.initAuth({
issuer: config.issuer,
redirectUri: `${config.rootURI}/implicit/callback`,
clientId: config.clientID,
responseType: config.responseType
})
],
declarations: [],
exports: []
})
export class TdAuthenticationModule {
static forRoot(config: ?) {
return {
ngModule: TdAuthenticationModule,
?
};
}
}
Я видел примеры людей, использующих InjectorToken
и способных передавать конфигурацию в библиотечные проекты, которые затем могут быть внедрены в сервисы и компоненты этой библиотеки и еще много чего, но я не понимаю и не знаю, есть ли способ использовать то, что передано в модуль библиотеки в декораторе для этого модуля.
Возможно ли это?