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

Firebase Hosting无法部署文件:静态资源加载异常求助

Firebase部署后CSS/JS/图片加载失败,资源被替换为index.html的排查方案

核心问题拆解

控制台报Unexpected token '<'是因为浏览器请求静态资源时,服务器返回的是index.html的HTML代码——这直接说明请求被错误路由到了首页,而非目标资源。结合旧项目还原后也失效的情况,问题大概率出在Firebase的部署缓存、CLI配置或线上CDN层面,而非本地文件本身。

具体解决步骤

  • 清理部署缓存(本地+线上)

    1. 本地重置Firebase CLI会话:执行firebase logout,再firebase login重新登录;
    2. 删除本地项目根目录下的.firebase缓存文件夹;
    3. 登录Firebase控制台,进入Hosting页面,找到「清除缓存」按钮,手动清理CDN缓存;
    4. 重新执行firebase deploy。
  • 检查并修正firebase.json重写规则
    单页应用常用的重写规则(将所有请求导向index.html)如果配置不当,会把静态资源也一并路由到首页。打开firebase.json,确保重写规则排除你的资源路径:

    "hosting": {
      "public": "public", // 确认这里是你的静态资源根目录
      "rewrites": [
        {
          "source": "!*.{css,js,png,jpg,gif,svg}", // 排除所有静态资源后缀
          "destination": "/index.html"
        }
      ]
    }
    

    如果你的资源放在特定子目录(比如/assets/),可以把规则改成"source": "!/assets/**"来排除整个目录。

  • 验证部署文件完整性

    1. 先确认本地public目录下的CSS/JS/图片完整且路径正确;
    2. 用debug模式部署,查看详细上传日志:firebase deploy --debug,检查是否有文件上传失败或被跳过的记录;
    3. 登录Firebase控制台的Hosting「文件」页面,直接查看线上的CSS/JS文件内容,确认是否真的被index.html覆盖。如果是,尝试更新Firebase CLI到最新版:npm install -g firebase-tools,再重新部署。
  • 重置Hosting站点配置
    如果以上方法都无效,直接在Firebase控制台删除当前Hosting站点,然后在本地重新执行firebase init hosting,重新关联项目、配置静态目录和重写规则,再上传文件。

内容的提问来源于stack exchange,提问作者Alexander García

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 14:02:07