我已将 @angular/fire 添加到我的项目中以使用 firestore,它在本地运行良好,并且正在写入 firestore。但是,当我将其部署到我的 firebase 托管时。它停止工作了。 注意:执行构建时我没有收到任何错误。
这是我在部署的应用程序上遇到的错误
core.mjs:6412 ERROR 错误:未捕获(承诺中):错误:服务 firestore 不可用 错误:服务 firestore 不可用
这是我正在使用的@angular/fire 版本
"@angular/fire": "^7.6.1",
我的环境文件如下所示
环境.ts
export const environment = {
production: false,
firebaseConfig: {
apiKey: '***'
authDomain: '***'
projectId: '***'
storageBucket:'***',
messagingSenderId: '***',
appId: '***',
measurementId: '***'
},
};
环境.prod.ts
export const environment = {
production: true,
... (same as env.ts)
};
这是我初始化 firebase 的方式
app.module.ts
import { initializeApp, provideFirebaseApp } from "@angular/fire/app";
import { provideFirestore, getFirestore } from "@angular/fire/firestore"
@NgModule({
declarations: [AppComponent],
imports: [
provideFirebaseApp(() => initializeApp(environment.firebaseConfig)),
provideFirestore(() => getFirestore())
],
providers: [],
bootstrap: [AppComponent],
})
export class AppModule {}
这是我如何将 firestore 注入到我的服务中
import { Firestore } from "@angular/fire/firestore";
@Injectable({
providedIn: "root",
})
export class FirebaseService {
constructor(private firestore: Firestore) {...}
我删除了package-lock.json文件和node_modules目录。然后,我安装了以下版本:
...
"@angular/fire": "7.6.1",
"firebase": "^10.4.0",
"rxfire": "6.0.4"
...
它现在适用于 Angular 15.0.4。 参考:https://github.com/angular/angularfire/issues/3422#issuecomment-1732511999