最新@angular/fire中的错误:Firebase:没有创建Firebase应用程序“[DEFAULT]” - 调用Firebase App.initializeApp()

Bar*_*urg 5 javascript firebase angularfire2 angular

我最近升级到了最新版本的@angular/fire,一切工作正常,但现在我已经从 compat 库迁移出去,现在我陷入了这个问题。我在以下代码中收到此错误: Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp()

// ...
import {getAuth, provideAuth} from '@angular/fire/auth';
import {getFirestore, provideFirestore} from '@angular/fire/firestore';
import {initializeApp, provideFirebaseApp} from '@angular/fire/app';
// ...

@NgModule({
  // ...
  providers: [
    // ...
    provideFirebaseApp(() => initializeApp(window['firebase_config'])),
    provideFirestore(() => getFirestore()),
    provideAuth(() => getAuth()),
    // ...
  ],
  // ...
})
export class ApModule {
  // ...
}
Run Code Online (Sandbox Code Playgroud)

这是堆栈跟踪:

Error: Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp() (app/no-app).
    at new ZoneAwareError (http://localhost:4200/vendor.js:65953:33)
    at new FirebaseError (http://localhost:4200/apps_frontend_src_app_app_module_ts.js:166709:5)
    at ErrorFactory.create (http://localhost:4200/apps_frontend_src_app_app_module_ts.js:166739:19)
    at getApp (http://localhost:4200/apps_frontend_src_app_app_module_ts.js:122971:25)
    at getAuth (http://localhost:4200/apps_frontend_src_app_app_module_ts.js:137360:77)
    at http://localhost:4200/apps_frontend_src_app_app_module_ts.js:69140:44
    at http://localhost:4200/apps_frontend_src_app_app_module_ts.js:69066:57
    at ZoneDelegate.invoke (http://localhost:4200/polyfills.js:463:26)
    at Zone.run (http://localhost:4200/polyfills.js:225:43)
    at NgZone.runOutsideAngular (http://localhost:4200/vendor.js:34688:28)
    at runOutsideAngular (http://localhost:4200/apps_frontend_src_app_app_module_ts.js:69066:33)
    at http://localhost:4200/apps_frontend_src_app_app_module_ts.js:69140:17
    at http://localhost:4200/apps_frontend_src_app_app_module_ts.js:1581:144
    at http://localhost:4200/apps_frontend_src_app_app_module_ts.js:68430:47
    at ZoneDelegate.invoke (http://localhost:4200/polyfills.js:463:26)
Run Code Online (Sandbox Code Playgroud)

我完全不明白为什么会出现这个错误。任何帮助深表感谢!

Est*_*ago -1

嗯..好吧,我在我的项目中使用的是从 8 升级的版本 9,你要么注释掉了一些东西,要么确实丢失了一些东西。让我分享我的模块:

const providers = [
 // ...
  AngularFireModule,
  AngularFireAnalyticsModule,
  AngularFireAuthGuard,
  ScreenTrackingService,
  UserTrackingService,
  AngularFireAnalytics,
  {
    provide: ANALYTICS_CONFIG,
    useValue: {
      APP_NAME: appConfig.appName,
      APP_VERSION: appConfig.appVersion
    }
  }
];



@NgModule({
  imports: [
    // ...

    /** Firebase Modules */
    AngularFireModule.initializeApp(firebaseConfig),
    AngularFireAnalyticsModule,
    AngularFireAuthGuardModule,
    AngularFireDatabaseModule,
    AngularFireFunctionsModule,

    // ...
  ],
  providers,
  bootstrap: [RootComponent]
})
Run Code Online (Sandbox Code Playgroud)

所以我的初始化应用程序是在我的导入中,而不是在我的提供商中,我记得当时我遇到了一些问题,经过一番挖掘和更改后,我想出了上述内容,它对我有用。正如你所看到的,我使用了他们的很多服务。

从您发布的错误来看,我猜问题是您initializeApp没有进行初始化,因此请尝试将其移至导入并确保配置文件具有所有必需的属性。

==更新==

请注意,我粘贴了我的项目导入,您可以忽略除导入和提供程序之外的所有其他内容AngularFireModule,因为您可能不会使用其他内容,我只是添加它们以供参考,因为它们可能对其他人有用。