You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AngularFire@7.1.1报NullInjectorError: No provider for Firestore如何解决?

可行解决方案如下:

  • 把 provideFirestore 配置从懒加载的 admin.module.ts 移动到 app.module.ts 的 imports 数组中。AngularFire 新模块化 API 中 provideFirestore 注册的是根级 provider,放在懒加载模块中时,根注入器无法识别该 provider,若你的服务配置了 providedIn: 'root',会优先从根注入器查找依赖,就会触发空注入器报错。
  • 如果你需要将 Firestore 能力限定在 admin 模块范围内使用,不需要全局暴露,可以修改 ScanRepositoryService 的注入配置:将 providedIn: 'root' 改为 providedIn: AdminModule,或者在 admin.module.ts 的 providers 数组中显式声明该服务,让服务从当前懒加载模块的注入器层级查找 Firestore 依赖。
  • 检查 @angular/fire 版本是否和 Angular 12 兼容:Angular 12 适配的 AngularFire 版本为 7.x 分支,使用更高版本会出现 API 不兼容、注入失效的问题。
  • 移除兼容层 API 避免冲突:可以先删除 AngularFirestoreModule、AngularFireModule 相关的兼容层导入代码,仅保留新模块化 API 测试运行,新旧 API 同时启用如果版本适配不佳也会触发注入异常。

内容的提问来源于stack exchange,提问作者Marcell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 08:54:07