Передать конфигурацию angularFire, импортированную в библиотеку, используя forRoot

Я использую angularFire2 в пользовательской библиотеке

@NgModule({
  imports: [
    CommonModule,
    AngularFireModule.initializeApp(firebaseConfig),
    AngularFirestoreModule
  ]
})
export class CustomModule {
  static forRoot(firebaseConfig: FirebaseOptions): ModuleWithProviders {
    return {
    ...
    }
  }
}

вызов библиотеки потребителя CustomModule.forRoot({config...})

Мой вопрос: как мне сделать данные конфигурации доступными в AngularFireModule.initializeApp(firebaseConfig)?

0 ответов

Я столкнулся с этой проблемой пару недель назад, что вам нужно сделать, это бросить initializeApp позвоните в раздел импорта и добавьте FirebaseOptionsToken на ваш forRoot декларация как ниже:

@NgModule({
  imports: [
    CommonModule,
    AngularFireModule,
    AngularFirestoreModule
  ]
})
export class CustomModule {
  static forRoot(firebaseConfig: FirebaseOptions): ModuleWithProviders {
    return {
       ngModule: CustomModule,
       providers: [
           { provide: FirebaseOptionsToken, useValue: firebaseConfig }
       ]
    }
  }
}

Если вы посмотрите на initializeApp Метод в Angular/Fire, вы видите, как он делает то же самое, когда он вызывается.

Это сработало для меня, надеюсь, поможет другим, имеющим такую ​​же проблему.

Другие вопросы по тегам