【问题标题】:Angular and FirebaseAngular 和 Firebase
【发布时间】:2023-03-19 09:12:01
【问题描述】:

我正在尝试使用 Angular 和 Firebase 制作一个项目。我已经使用 cli 命令“npm install firebse angularfire2 --save”安装了 firebase。当我导入 FirebaseListObservable 时出现错误。 import { Injectable } from '@angular/core'; import { AngularFireDatabaseModule } from 'angularfire2/database'; import { FirebaseListObservable } from 'angularfire2/database'; 这是一项服务。 这是组件文件。

import { AngularFireModule } from 'angularfire2';
import { AngularFireDatabaseModule, AngularFireDatabase } from 'angularfire2/database';
import { AngularFireAuthModule, AngularFireAuth } from 'angularfire2/auth';

export const firebaseConfig = {
    apiKey: "AIzaSyD8cYGy1sth5-BPkcB_yksZdZWQkcAnpXk",
    authDomain: "clientpanel-9f785.firebaseapp.com",
    databaseURL: "https://clientpanel-9f785.firebaseio.com",
    projectId: "clientpanel-9f785",
    storageBucket: "clientpanel-9f785.appspot.com",
    messagingSenderId: "296835281822"
}
import * as firebase from 'firebase/app';


@NgModule({
  declarations: [
    AppComponent,
    AddClientComponent,
    ClientDetailsComponent,
    NavbarComponent,
    SidebarComponent,
    PageNotFoundComponent,
    ClientsComponent,
    DashboardComponent,
    EditClientComponent,
    LoginComponent,
    RegisterComponent,
    SettingsComponent
  ],
  imports: [
    BrowserModule,
    RouterModule.forRoot(appRoutes),
    AngularFireModule.initializeApp(firebaseConfig),
    AngularFireAuthModule,
    AngularFireDatabaseModule
  ],
  providers: [
    ClientService,
    AngularFireAuth,
    AngularFireDatabase
  ],
  bootstrap: [AppComponent]
})

【问题讨论】:

  • 错误是什么?
  • “databse/index”中没有导入的成员 FirebaseListObservable
  • 您至少应该从提供者列表中删除AngularFireAuth, AngularFireDatabase。这些是通过进口提供的。 import * as firebase from 'firebase/app'; 也是不必要的
  • 好的。但我仍然收到该错误。
  • 你有哪个 rxjs 版本以及哪个版本的 firebase 和 angularfire2

标签: angular firebase angularfire


【解决方案1】:

试试

import { AngularFireList } from 'angularfire2/database';

而不是

import { FirebaseListObservable } from 'angularfire2/database';

您使用哪个版本?在 AngularFire 5.0 中 FirebaseListObservable 被移除

【讨论】:

    【解决方案2】:
      providers: [
        ClientService,
        AngularFireAuth, // Delete
        AngularFireDatabase // Delete
      ],
    

    您不要在 AppModule 中使用 AngularFireAuthAngularFireDatabase。您在服务或组件中使用它们,如下所示:

    import { Component } from '@angular/core';
    import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database';
    
    export class AppComponent {
        public books: FirebaseListObservable<Book[]>;
        constructor(db: AngularFireDatabase) {
            this.books = db.list('/books');
        }
    }
    

    阅读this教程了解更多信息

    更新

    我不知道您使用的版本,但如果您使用的是 AngularFire v5,请遵循 answer

    import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2/database-deprecated';
    

    【讨论】:

    • 我试过了,但还是报错。有没有办法使用cli升级firebase2版本
    • { "resource": "/e:/Angular/clientpanel/src/app/app.component.ts", "owner": "typescript", "code": "2305", "严重性”:8,“消息”:“模块'\”e:/Angular/clientpanel/node_modules/angularfire2/database/index\“'没有导出成员'FirebaseListObservable'。”,这是我遇到的问题。
    • @TirthTrivedi npm install angularfire2@latest --save 或卸载 angularfire2 npm uninstall angularfire2 --save 并安装您想要的版本 npm install angularfire2@versionyouwant --save
    猜你喜欢
    • 2019-01-10
    • 1970-01-01
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 2015-08-22
    • 2018-04-15
    相关资源
    最近更新 更多