我正在开发一个Angular 6项目。这是我使用--prod
构建时出现的错误
旗帜,主持和运行。
我已经坐了很久了。最初认为它可能是firestore包的一个问题,我等了。
但现在更新到firestore 5.0.4,问题仍然存在。
[2018-06-04T06:11:47.859Z] @ firebase / firestore:Firestore(5.0.4):无法访问Cloud Firestore后端。后端在10秒内没有回复。
这通常表示您的设备目前没有健康的互联网连接。客户端将以脱机模式运行,直到它能够成功连接到后端。
app.module.ts
Imports: [
AngularFireModule.initializeApp(environment.firebaseConfig),
AngularFirestoreModule
]
app.component.ts
constructor(public afAuth: AngularFireAuth,
private afs: AngularFirestore,
private db: AngularFireDatabase) {
this._currentUser = this.afAuth.authState
.pipe(
switchMap((user: any) => {
if (user) {
console.log(user);
return this.afs.collection('users').doc<User>(user.uid).valueChanges();
} else {
return Observable.create(null);
}
})
);
}
仅供参考:身份验证仍然有效。
依赖关系 firebase 5.0.4 angularfire2 5.0.0-rc.10
答案 0 :(得分:1)
可能的问题:
我的卡巴斯基和adBlock Chrome插件出现问题
答案 1 :(得分:0)
您应该在Firebase控制台中启用Firestore。请执行以下步骤:
打开 Firebase Console,打开或创建一个新项目。
在数据库部分中,单击云的入门按钮 Firestore 。
选择您的Cloud Firestore安全规则的启动模式:测试模式或锁定模式
Cloud Firestore和App Engine:您不能在同一项目中同时使用Cloud Firestore和Cloud Datastore ,这可能会影响使用App Engine的应用程序。尝试将Cloud Firestore与其他项目一起使用。 创建Cloud Firestore项目时,它还会在 Cloud API Manager 中启用API。
答案 2 :(得分:0)
这可能有帮助:)
即使您正在使用其他模块(例如 AngularFirestoreModule
或 AngularFireStorage
),也仅导入 AngularFireDatabase
。
不知道为什么,但我在很多项目中都使用了这种方法,没有任何问题;)
// Angular Fire Modules in my projects using auth, firestore, realtime db, & storage
AngularFireModule.initializeApp(environment.firebaseConfig),
AngularFireAuthModule,
AngularFirestoreModule,
答案 3 :(得分:0)
我在开发和生产中随机得到这个,这为我解决了这个问题。 将此设置为true: https://firebase.google.com/docs/reference/js/firebase.firestore.Settings#optional-experimentalautodetectlongpolling
您至少需要 JS SDK 7.24.0 版本。
https://firebase.google.com/support/release-notes/js#cloud-firestore_13
以下是使用 AngularFire 的方法: 在 app.module.ts(或其他导入 AngularFire 的模块)中。
providers: [
{ provide: FirestoreSettingsToken, useValue: { experimentalAutoDetectLongPolling: true } }
答案 4 :(得分:-1)