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

Flutter Web 执行 hot reload 时浏览器空白无响应该如何处理?

问题根因

你出现该问题的核心原因是Firebase JS SDK 版本不统一,你引入的多个Firebase依赖分别使用了7.14.2、8.6.1、8.7.1三个不同版本,版本冲突会导致全局firebase对象初始化异常,进而阻塞后续main.dart.js的加载,最终触发热重载时页面空白无响应。

解决方案
  • 第一步:统一所有Firebase JS SDK的版本,建议全部调整为一致的8.x版本,比如统一使用8.7.1,避免跨版本API不兼容问题
  • 第二步:调整后清空浏览器缓存,关闭现有调试窗口后重新启动Flutter Web调试服务,再测试热重载功能
  • 可选优化:如果不需要在调试阶段使用service worker,可以在启动调试时添加--no-service-worker参数,避免缓存干扰热重载逻辑

修正后的参考代码

<script src="https://www.gstatic.com/firebasejs/8.7.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.7.1/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.7.1/firebase-firestore.js"></script>
<!-- TODO: Add SDKs for Firebase products that you want to use -->
<script src="https://www.gstatic.com/firebasejs/8.7.1/firebase-analytics.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.7.1/firebase-performance.js"></script>

<script>
    // Your web app's Firebase configuration
    // For Firebase JS SDK v7.20.0 and later, measurementId is optional
    const firebaseConfig = {
        apiKey: "****",
        authDomain: "a***",
        projectId: "a***",
        storageBucket: "****",
        messagingSenderId: "**",
        appId: "****",
        measurementId: "***"
    };

    firebase.initializeApp(firebaseConfig)
</script>
<script src="main.dart.js" type="application/javascript"></script>
</body>
</html>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:06:04