You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

@angular/fire中找不到AngularFireModule与AngularFireDatabaseModule问题求助

问题根因

你遇到的导入报错是因为@angular/fire从v7.0.0版本开始进行了大幅重构,移除了原有的AngularFireModule、AngularFireDatabaseModule等NgModule类导出,旧版的NgModule导入方式不再适配新版本。

解决方案

这里提供两种可选方案,可根据项目需求选择:

方案1:适配v7.x版本新逻辑(推荐长期使用)

方式A:使用兼容层沿用旧写法

如果不想修改原有业务代码逻辑,可以直接从compat兼容路径导入对应模块:

// 修改导入路径即可,原有模块使用逻辑不变
import { AngularFireModule } from '@angular/fire/compat';
import { AngularFireDatabaseModule } from '@angular/fire/compat/database';

之后在AppModule的imports数组中按原有逻辑注册即可正常使用。

方式B:使用新版API

v7.x版本改用提供器(Provider)方式注册依赖,无需导入NgModule:

  1. 首先导入新的API:
import { provideFirebaseApp, initializeApp } from '@angular/fire/app';
import { provideDatabase, getDatabase } from '@angular/fire/database';
  1. 在AppModule的providers数组中注册依赖:
@NgModule({
  // ...其他配置
  providers: [
    // 替换为你自己的Firebase配置对象
    provideFirebaseApp(() => initializeApp({
      apiKey: "xxx",
      authDomain: "xxx",
      databaseURL: "xxx",
      projectId: "xxx",
      storageBucket: "xxx",
      messagingSenderId: "xxx",
      appId: "xxx"
    })),
    provideDatabase(() => getDatabase())
  ]
})
export class AppModule { }

方案2:降级到适配Angular12的v6.x版本

如果不想适配新版API,可以直接降级到兼容旧写法的版本:

  1. 先卸载现有版本:
npm uninstall @angular/fire firebase
  1. 安装匹配的版本:
npm install @angular/fire@6.1.5 firebase@8.10.0

安装完成后原有导入语句无需任何修改即可正常运行。


内容的提问来源于stack exchange,提问作者Corey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 08:48:00