首页 > 解决方案 > 在 @angular/fire 中找不到 AngularFireModule 和 AngularFireDatabaseModule

问题描述

我正在尝试将 Firebase 实时数据库实施到一个有角度的项目中,但我陷入了第一步。导入 AngularFireModule 和 AngularFireDatabaseModule。它给了我以下错误:

Module '"@angular/fire"' has no exported member 'AngularFireModule'.ts(2305)
Module '"@angular/fire/database"' has no exported member 'AngularFireDatabaseModule'.

这是我导入它们的方式:

import {AngularFireModule } from '@angular/fire';
import {AngularFireDatabaseModule} from '@angular/fire/database'

我在这里错过了什么吗?我已经通过命令安装了@angular/fire

npm i firebase @angular/fire

并且还安装了firebase工具。以下是我当前安装的 Angular 包及其版本的列表:

Angular CLI: 12.2.2
Node: 14.17.4
Package Manager: npm 6.14.14
OS: win32 x64

Angular: 12.2.3
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1202.2
@angular-devkit/build-angular   12.2.2
@angular-devkit/core            12.2.2
@angular-devkit/schematics      12.2.2
@angular/cli                    12.2.2
@angular/fire                   7.0.0
@schematics/angular             12.2.2
rxjs                            6.6.7
typescript                      4.3.5

如果这都是过多的信息,我深表歉意,但我完全不知道问题是什么。任何帮助将不胜感激。现在我怀疑它是一个兼容性问题,或者可能是一个在最新版本中不再存在的功能,但我真的不知道。

标签: angulartypescriptfirebaseangularfire

解决方案


AngularFire 7.0.0 昨天发布了一个新的 API,它有很多减少包大小的好处。

AngularFireDatabase您现在可以导入较小的独立函数,而不是像这样的顶级类。

import { list } from '@angular/fire/database';

初始化过程也有点不同,因为它有一个更灵活的 API 来指定配置。

@NgModule({
    imports: [
        provideFirebaseApp(() => initializeApp(config)),
        provideFirestore(() => {
            const firestore = getFirestore();
            connectEmulator(firestore, 'localhost', 8080);
            enableIndexedDbPersistence(firestore);
            return firestore;
        }),
        provideStorage(() => getStorage()),
    ],
})

如果您想继续使用较旧的 API,则有一个兼容层

import { AngularFireModule} from '@angular/fire/compat'
import { AngularFireDatabaseModule } from '@angular/fire/compat/database';

有关详细信息,请参阅版本 7 升级文档


推荐阅读