我是Firebase Firestore的新手。 这是我在Firestore的第一个项目。 我使用此命令安装了角火
npm install firebase @angular/fire --save
现在像这样导入angularfire模块
import { AngularFireModule } from '@angular/fire';
和这样的angularfirestoremodule
import { AngularFirestoreModule } from '@angular/fire/firestore';
但这给了我错误
找不到模块'@ angular / fire'.ts(2307)
任何想法可能是什么错误? 我尝试了google搜索,但是由于我是Firebase的新手,所以一切对我来说都很复杂。 另外,如果使用离子版本4,角度版本8.1.3和节点版本10.16.3,那么有什么区别。
Angularfire2以前可以正常工作,但是由于不推荐使用,我想转到angular / fire。
答案 0 :(得分:0)
这里存在一些版本不匹配的问题。
这是您可能想要做的工作。
免责声明:出于演示目的,我将使用StackBlitz。
要遵循的步骤:
尝试将AngularFirestoreModule
中的AppModule
导入并将其添加到导入的array
中。
import { AngularFirestoreModule } from '@angular/fire/firestore';
转到您的AppComponent
并导入AngularFirestore
并将其作为依赖项注入:
import { Component } from '@angular/core';
import { Observable } from 'rxjs';
import { AngularFirestore } from '@angular/fire/firestore';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
items: Observable<any[]>;
constructor(db: AngularFirestore) {
this.items = db.collection('items').valueChanges();
}
}
您会收到一条错误消息:
错误错误:app.firestore不是函数
您想通过Google搜索来找到问题的原因和可能的解决方法。您可能会以this GitHub thread结尾,这建议您重新安装依赖项。
由于我们在StackBlitz上,您只需按DEPENDENCIES部分中的“将所有部门更新为最新” 按钮。一旦这样做,您将开始收到一条错误消息:
找不到包:core-js
对于StackBlitz来说,这显然是一个已知问题。为了解决这个问题,您将再次进行Google搜索,可能会以this GitHub thread结尾。
按照线程中的建议,将core-js@2
添加到DEPENDENCIES字段中并按Enter。这将安装core-js
的2.6.11版。
现在您会收到一条错误消息:
找不到软件包:@ firebase / app
要修复此问题,只需点击蓝色按钮,其中显示“安装包@firebase/app
”
最后,您会收到一条错误消息:
错误错误:firebase.initializeApp中未提供
"projectId"
。
要解决此问题,只需粘贴您的firebase
配置。
并希望在完成所有这些步骤之后,您应该能够看到项目已更新为@angular/fire
。
这里是Working Demo till Step 9,可以节省您的一些时间。
希望这会有所帮助:)