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

Angular 6集成Firebase遇TS2305错误:模块无对应导出成员求助

错误含义与解决方案

首先,这些错误的核心原因是版本不兼容:
你当前安装的angularfire2和firebase版本与你的Angular 6项目不匹配。当你直接执行npm install firebase angularfire2 --save时,npm会默认拉取这两个包的最新版本,但最新版本的firebase已经重构了API导出结构(比如原本从firebase/app导出的User、auth、app等成员,现在需要从对应的子模块如firebase/auth、firebase/database导入),而适配Angular 6的旧版angularfire2仍然期望使用旧的firebase导出结构,所以就出现了这些"找不到导出成员"的错误。

而你的全新Angular项目能正常运行,是因为新创建的项目大概率使用了较新的Angular版本(比如Angular 10及以上),这些版本能够兼容最新的firebase和angularfire2包,版本匹配自然不会报错。

解决步骤:

  1. 先卸载当前不兼容的包:
npm uninstall firebase angularfire2 --save
  1. 安装与Angular 6兼容的特定版本组合:
npm install firebase@5.5.9 angularfire2@5.1.1 --save

这个版本组合经过验证,能够完美适配Angular 6项目。

  1. 确认你的app.module.ts中的导入方式与该版本匹配(示例):
import { NgModule } from '@angular/core';
import { AngularFireModule } from 'angularfire2';
import { AngularFireAuthModule } from 'angularfire2/auth';
import { AngularFireDatabaseModule } from 'angularfire2/database';

// 替换为你的Firebase项目配置
const firebaseConfig = {
  apiKey: "YOUR_API_KEY",
  authDomain: "YOUR_AUTH_DOMAIN",
  databaseURL: "YOUR_DATABASE_URL",
  projectId: "YOUR_PROJECT_ID",
  storageBucket: "YOUR_STORAGE_BUCKET",
  messagingSenderId: "YOUR_MESSAGING_SENDER_ID"
};

@NgModule({
  imports: [
    AngularFireModule.initializeApp(firebaseConfig),
    AngularFireAuthModule,
    AngularFireDatabaseModule
    // 根据需求添加其他AngularFire模块
  ]
})
export class AppModule { }

完成以上步骤后,重新执行ng serve应该就能正常运行了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:59:57