AngularFireDatabase、AngularFireAuth没有提供程序
抱歉,因为我想不出更好的方法来包含所有信息。。。当我运行此程序时,会出现如下错误。我已经跟踪了爱奥尼亚的文档到T,我不知道有什么可能是错的 错误: AngularFireDatabase没有提供程序 Package.json App.module.ts Home.html Home.tsAngularFireDatabase、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
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,
....
]