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

Flutter Web中Firebase.initializeApp初始化失败,报语法错误求助

Flutter Web初始化Firebase后报错:Uncaught SyntaxError: Invalid left-hand side in assignment 解决方案

问题场景

Flutter Web应用在初始化Firebase后无法启动,抛出Uncaught SyntaxError: Invalid left-hand side in assignment错误,Android和iOS平台运行完全正常,尝试降级Firebase版本后问题仍未解决。错误堆栈信息如下:

localhost/:1 Uncaught SyntaxError: Invalid left-hand side in assignment
at [dartx.append] (html_dart2js.dart:23474:33)
at firebase_core_web.FirebaseCoreWeb.new.injectSrcScript (firebase_core_web.dart:138:14)
at injectSrcScript.next ()
at runBody (async_patch.dart:84:54)
at Object._async [as async] (async_patch.dart:123:5)
at firebase_core_web.FirebaseCoreWeb.new.injectSrcScript (firebase_core_web.dart:106:31)
at MappedIterator.new. (firebase_core_web.dart:171:16)
at MappedIterator.new.moveNext (iterable.dart:393:20)

解决方法

这个错误本质是Firebase JS脚本注入时的语法或版本兼容问题,可按以下步骤排查:

  • 检查web/index.html的Firebase配置脚本
    确保初始化脚本格式正确,无语法错误。以Firebase v9+模块化配置为例,正确写法如下:

    <script type="module">
      import { initializeApp } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-app.js";
      const firebaseConfig = {
        apiKey: "你的API_KEY",
        authDomain: "你的AUTH_DOMAIN",
        projectId: "你的PROJECT_ID",
        storageBucket: "你的STORAGE_BUCKET",
        messagingSenderId: "你的MESSAGING_SENDER_ID",
        appId: "你的APP_ID"
      };
      const app = initializeApp(firebaseConfig);
    </script>
    

    若使用旧版命名空间式配置,需核对是否存在赋值语句错误(比如多余的等号、变量声明格式错误)。

  • 对齐firebase_core_web与Firebase JS版本
    firebase_core_web包和引入的Firebase JS版本不匹配会导致脚本注入异常:

    1. 在pubspec.yaml中锁定兼容的firebase_core_web版本,例如:
      firebase_core: ^2.15.0
      firebase_core_web: ^2.15.0
      
    2. 确保web/index.html中的Firebase JS版本与firebase_core_web依赖的版本一致(可查看pub.dev上该包的文档确认)。
  • 清理缓存并重新构建
    执行以下命令清理旧缓存,重新编译Web应用:

    flutter clean
    flutter pub get
    flutter build web --release
    

    旧编译缓存可能残留异常脚本,清理后重新构建可解决此类问题。

  • 排查第三方Firebase插件版本冲突
    若项目使用了firebase_auth_web、cloud_firestore_web等其他Firebase相关插件,需确保它们的版本与firebase_core_web保持一致,避免版本冲突引发的脚本注入错误。

内容的提问来源于stack exchange,提问作者Garamvölgyi Géza Gábor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 05:12:34