传递使用 forRoot 在库中导入的 angularFire 配置



我在自定义库中使用 angularFire2

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

消费者库调用 CustomModule.forRoot({config...}(

我的问题是如何在 AngularFireModule.initializeApp(firebaseConfig( 中提供配置数据?

几周

前我遇到了这个问题,你要做的是在导入部分删除initializeApp调用,并将FirebaseOptionsToken添加到你的forRoot声明中,如下所示:

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

如果你看看 Angular/Fire 中的 initializeApp 方法,你会看到它在调用时是如何做同样的事情的。

它对我有用,希望能帮助其他遇到同样问题的其他人。

最新更新