AngularFireDatabase、AngularFireAuth没有提供程序

AngularFireDatabase、AngularFireAuth没有提供程序,angular,typescript,firebase,ionic2,angularfire2,Angular,Typescript,Firebase,Ionic2,Angularfire2,抱歉,因为我想不出更好的方法来包含所有信息。。。当我运行此程序时,会出现如下错误。我已经跟踪了爱奥尼亚的文档到T,我不知道有什么可能是错的 错误: AngularFireDatabase没有提供程序 Package.json App.module.ts Home.html Home.ts AngularAuth数据库(与AngularAuth相同)从 版本angularFire2@4.0.0,请参阅文档 您应该在RootModule中导入AngularFireDatabaseModule

抱歉,因为我想不出更好的方法来包含所有信息。。。当我运行此程序时,会出现如下错误。我已经跟踪了爱奥尼亚的文档到T,我不知道有什么可能是错的

错误:

AngularFireDatabase没有提供程序

Package.json

App.module.ts

Home.html

Home.ts

AngularAuth数据库(与AngularAuth相同)从
版本angularFire2@4.0.0,请参阅文档

您应该在
RootModule
中导入
AngularFireDatabaseModule
(用于身份验证的AngularFireAuthModule)

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

@NgModule({
  imports: [
    AngularFireModule.initializeApp({         <---- main module
      apiKey: ...,
      authDomain: '...',
      databaseURL: '...',
      storageBucket: '...',
      messagingSenderId: '...'
    }),                                       
    AngularFireDatabaseModule,                <---- for database 
    AngularFireAuthModule                     <---- for auth
  ]
})
从“angularfire2”导入{AngularFireModule};
//对于AngularFire数据库
从“angularfire2/database”导入{AngularFireDatabaseModule};
从“angularfire2/database”导入{AngularFireDatabase,FirebaseObjectObservable};
//对于AngularFireAuth
从'angularfire2/auth'导入{AngularFireAuthModule};
从'angularfire2/auth'导入{AngularFireAuth};
@NGD模块({
进口:[

AngularFireModule.initializeApp({内部app.module.ts添加以下内容:

import { AngularFireModule } from 'angularfire2';

import { AngularFireDatabaseModule } from 'angularfire2/database';
然后按如下方式导入:

@NgModule({
  declarations: [
    MyApp,
    HomePage
  ],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp),
    AngularFireModule.initializeApp(firebaseConfig),
    AngularFireDatabaseModule
  ],
import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database';

items: FirebaseListObservable<any[]>;

  constructor(public navCtrl: NavController, db: AngularFireDatabase) {
        this.items = db.list('/items');
  }
内部home.ts使用方法如下:

@NgModule({
  declarations: [
    MyApp,
    HomePage
  ],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp),
    AngularFireModule.initializeApp(firebaseConfig),
    AngularFireDatabaseModule
  ],
import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database';

items: FirebaseListObservable<any[]>;

  constructor(public navCtrl: NavController, db: AngularFireDatabase) {
        this.items = db.list('/items');
  }

将其添加到app.module.ts中的providers数组中-

  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    RouterModule.forRoot(appRoutes),
    AngularFireModule.initializeApp(firebaseConfig)
  ],
  providers: [AuthService,**AngularFireAuth, AngularFireDatabase**, AuthGuard, InventoryService]

我在AngularFire应用程序中出现此错误。结果表明,我的自动导入从“
angularfire2/数据库弃用”
”导入了
AngularFirebase
。清除
-弃用”
解决了我的问题。您可能还需要检查导入的内容。

确保FireBaseDatabaseModule是从angularfire2/数据库弃用导入的ted如果您使用的是angularfire2中的FireBaseDatabase/数据库已弃用

唯一的问题是import语句不匹配,因为它们也需要属于同一个包

angularfire2/数据库或 angularfire2/已弃用数据库

如果您尝试从第一个包导入数据库,从第二个包导入模块,或者从第二个包导入模块,则它不会将其识别为DatabaseModule或database

------------根模块-------------

-------服务等级------------


使用firebase的更新版本将在中 app.module.ts

import { AngularFireModule } from '@angular/fire';
import { AngularFirestoreModule } from '@angular/fire/firestore';
import { AngularFireAuthModule } from '@angular/fire/auth';
import { AngularFireDatabaseModule } from '@angular/fire/database';



imports: [
AngularFireModule.initializeApp(environment.firebase),
AngularFirestoreModule,
AngularFireAuthModule,
AngularFireDatabaseModule,
....
]

好的,我做到了,消除了所有的错误(太好了!)但是,它仍然没有读取Firebase的信息?@Slabach可能你的Firebase配置有问题。我刚刚更新了我的一个示例项目angularfire2@2.0.0+到angularfire2@4.0.0+,并查看它是否工作正常。只需再提供一个信息,我就得到了相同的错误,因为我的导入错误
import{AngularFireDatabase}来自“angularfire2/数据库弃用”;
…没有真正阅读IDE建议的内容:)出现一个错误,FirebaseObjectObservable不是angularfire2/数据库的导出成员,而且它只适用于我将AngularFireDatabase添加到提供程序阵列中时。非常感谢,这太烦人了,因为我正在上Udemy课程,没有解释……请不要共享文本图片。而是共享文本并使用Stack Overflow/Markdown的格式化选项来格式化它(cmd/ctrl K是您在这里的朋友)。您给出两次
AngaulrFireModule
有什么原因吗,一次没有
初始化,一次有?这不是最佳做法。最佳做法是导入
AngularFireDatabaseModule
import { AngularFireModule } from '@angular/fire';
import { AngularFirestoreModule } from '@angular/fire/firestore';
import { AngularFireAuthModule } from '@angular/fire/auth';
import { AngularFireDatabaseModule } from '@angular/fire/database';



imports: [
AngularFireModule.initializeApp(environment.firebase),
AngularFirestoreModule,
AngularFireAuthModule,
AngularFireDatabaseModule,
....
]