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

Flutter Web部署到Firebase后报错No Firebase App '[DEFAULT]'未创建

问题排查与解决方案

  • 脚本加载顺序问题修复
    你当前的Firebase初始化代码放在type="module"的脚本中,这类脚本默认延迟执行,会晚于普通的main.dart.js脚本运行,导致Dart代码执行时Firebase还未完成初始化。
    修改方案:将main.dart.js的加载逻辑移到Firebase初始化完成之后,参考代码如下:
<script>
// 移除type="module"属性,改为同步执行的普通脚本
const firebaseConfig = {
  // 替换为Firebase控制台中你项目的实际配置,不要保留占位符
  apiKey: "你的项目apiKey",
  authDomain: "你的项目authDomain",
  projectId: "你的项目projectId",
  storageBucket: "你的项目storageBucket",
  messagingSenderId: "你的项目messagingSenderId",
  appId: "你的项目appId"
};
// 先完成Firebase初始化
firebase.initializeApp(firebaseConfig);
// 再动态加载main.dart.js
const mainScript = document.createElement('script');
mainScript.src = 'main.dart.js';
mainScript.type = 'application/javascript';
document.body.appendChild(mainScript);

// Service Worker注册逻辑保留
if ('serviceWorker' in navigator) {
  window.addEventListener('flutter-first-frame', function () {
    navigator.serviceWorker.register('flutter_service_worker.js');
  });
}
</script>
<!-- 删掉原来单独引入的<script src="main.dart.js"... 一行 -->
  • 确认配置有效性
    检查部署后的index.html中firebaseConfig没有保留{...}占位符,已经替换为你项目的真实配置。如果本地测试时用了环境变量注入配置,要确认部署流水线已经正确将配置填充到了生产环境的index.html中。

  • 版本兼容性校验
    你当前使用的firebase_core: ^1.1.1属于FlutterFire 1.x版本,对应兼容的Firebase JS SDK版本就是8.x系列,你正在使用的8.6.1版本匹配正确,无需升级到9.x以上版本,避免出现API不兼容问题。

  • 缓存问题排查
    部署完成后按Ctrl+Shift+R(Mac系统为Cmd+Shift+R)硬刷新页面,或者使用浏览器无痕模式访问,避免本地缓存的旧资源导致问题。也可以登录Firebase控制台托管页面,确认最新版本已经部署成功。

  • 可选:Dart侧直接初始化(更稳定)
    如果以上方案都无效,可以移除HTML中的Firebase初始化逻辑,直接在Dart代码中传入配置完成初始化,避免跨脚本的加载顺序问题:

import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/foundation.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  if (kIsWeb) {
    await Firebase.initializeApp(
      options: const FirebaseOptions(
        apiKey: "你的项目apiKey",
        authDomain: "你的项目authDomain",
        projectId: "你的项目projectId",
        storageBucket: "你的项目storageBucket",
        messagingSenderId: "你的项目messagingSenderId",
        appId: "你的项目appId",
      ),
    );
  } else {
    await Firebase.initializeApp();
  }
  runApp(MyApp());
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:24:03