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

AngularFire升级至7.5.0后AppCheck报错:无DEFAULT Firebase应用

问题解决:AngularFire 7.5.0升级后AppCheck初始化失败(No Firebase App '[DEFAULT]')

版本信息

  • Angular:15.1.2
  • Firebase:9.23.3
  • AngularFire:7.5.0
  • Node:18.13.0
  • 包管理器:yarn 1.22.19
  • 操作系统:darwin arm64

问题描述

将Angular从12升级到15、AngularFire从7.0.4升到7.5.0后,AppCheck功能失效,控制台抛出错误:

ERROR Error: Uncaught (in promise): FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp() (app/no-app).

调试发现getApps()返回空数组,说明Firebase App实例未被正确创建。注释掉AppCheck相关代码后应用可正常运行,但会因缺少AppCheck令牌触发权限异常(符合预期),且旧版本(AngularFire 7.0.4)的配置能正常工作。

问题根源

你同时混用了AngularFire旧版初始化方式AngularFireModule.initializeApp和新版的provideFirebaseApp,重复初始化导致Firebase App实例创建逻辑冲突,最终实例未被正确初始化。

正确解决方案

步骤1:清理重复初始化代码

移除AngularFireModule.initializeApp(environment.firebase),统一使用AngularFire 7+推荐的基于提供者的初始化方式。

步骤2:正确配置AppCheck

推荐两种配置方式,按需选择:

方式1:直接复用Firebase App实例

在provideAppCheck的工厂函数中,直接使用initializeApp返回的实例,确保与全局Firebase App一致:

imports: [
  provideFirebaseApp(() => initializeApp(environment.firebase)),
  provideAppCheck(() => {
    const app = initializeApp(environment.firebase);
    const provider = new ReCaptchaV3Provider(environment.recaptcha);
    return initializeAppCheck(app, {
      provider,
      isTokenAutoRefreshEnabled: true,
    });
  })
],

方式2:依赖注入获取FirebaseApp(更符合Angular规范)

通过依赖注入让Angular自动注入已初始化的FirebaseApp实例,避免手动重复创建:

import { FirebaseApp } from '@angular/fire/app';

// ...

imports: [
  provideFirebaseApp(() => initializeApp(environment.firebase)),
  provideAppCheck((app: FirebaseApp) => {
    const provider = new ReCaptchaV3Provider(environment.recaptcha);
    return initializeAppCheck(app, {
      provider,
      isTokenAutoRefreshEnabled: true,
    });
  })
],

步骤3:补充其他Firebase服务配置(可选)

如果应用用到Firestore、Auth等其他服务,同样用对应的provideXXX函数配置,例如:

provideFirestore(() => getFirestore()),
provideAuth(() => getAuth()),

验证

完成配置后重启应用,getApp()不再抛出错误,AppCheck可正常初始化,应用能正常加载且不会出现权限异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 06:56:54