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

Flutter Web集成Firebase初始化时抛出Null类型错误求助

解决Flutter Web端Firebase初始化时的Null转Object错误

问题背景

创建新Flutter项目后,用flutterfire configure配置Firebase,初始化代码如下:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
  runApp(const MyApp());
}

仅Web端抛出以下错误:

Exception has occurred.
"Error: Expected a value of type 'Object', but got one of type 'Null'
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49      throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 99:3        castError
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 452:10  cast
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 73:24                 as
packages/firebase_core_web/src/firebase_core_web.dart 85:20                                                                    get [_ignoredServiceScripts]
packages/firebase_core_web/src/firebase_core_web.dart 136:28                                                                   _initializeCore
...(省略后续栈信息)
"

环境版本:

  • Flutter 3.3.10(stable通道)
  • firebase_core: ^2.4.0

解决方案

方案1:降级firebase_core版本到2.3.0

该错误是firebase_core: ^2.4.0版本在Web端存在的已知兼容性问题,修改pubspec.yaml中的依赖:

firebase_core: ^2.3.0

执行以下命令更新依赖:

flutter pub get

重新运行Web项目即可。

方案2:升级Flutter到更高稳定版本

如果不想降级依赖,可以尝试升级Flutter到3.7.x及以上的稳定版本,新版本对Firebase Web端的兼容性更好:

flutter upgrade

升级后重新执行flutter pub get并运行项目。

方案3:检查web/index.html中的Firebase脚本配置

确保web/index.html中正确引入Firebase的CDN脚本且配置信息完整,flutterfire configure生成的配置会自动添加,可手动确认:
在<body>标签内添加(替换为你的项目实际配置):

<script type="module">
  import { initializeApp } from "https://www.gstatic.com/firebasejs/9.15.0/firebase-app.js";
  const firebaseConfig = {
    apiKey: "YOUR_API_KEY",
    authDomain: "YOUR_AUTH_DOMAIN",
    projectId: "YOUR_PROJECT_ID",
    storageBucket: "YOUR_STORAGE_BUCKET",
    messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
    appId: "YOUR_APP_ID"
  };
  const app = initializeApp(firebaseConfig);
</script>

注意:若代码中已通过Firebase.initializeApp初始化,此处脚本仅需引入核心库,避免重复初始化。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 06:15:47