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

Flutter Web部署后图片不显示:本地正常且目录结构无误

问题描述

我通过Firebase Hosting部署了Flutter项目的build/web文件夹,相同的部署流程、代码和目录结构在另一个项目中能正常运行,但当前项目部署后图片无法显示。本地环境下图片显示正常,目录结构无误,也已仔细检查过pubspec.yaml文件。

相关截图:

  • 目录结构:folder structure
  • 浏览器报错:browser error
  • pubspec.yaml配置:pubspec
  • 图片引用代码:image reference code
可能的解决方案
  • 检查文件名大小写
    Firebase Hosting运行在Linux环境,文件名大小写敏感。如果本地是Windows/macOS(默认不区分大小写),代码里的引用路径和实际文件名大小写不一致的话,本地能正常显示但部署后会报404。对照目录结构和代码里的引用,确保大小写完全匹配。

  • 重新构建Web产物
    构建缓存可能导致资源未正确打包,执行以下命令重新生成部署文件:

    flutter clean
    flutter build web
    

    完成后重新部署到Firebase。

  • 核对Firebase重写规则
    打开firebase.json,确认重写规则没有拦截图片资源请求。标准的Flutter Web部署规则应该是:

    {
      "hosting": {
        "public": "build/web",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ],
        "rewrites": [
          {
            "source": "**",
            "destination": "/index.html"
          }
        ]
      }
    }
    

    该规则只会拦截非静态资源请求,图片等静态文件应能正常访问。如果有自定义规则,确保没有匹配到图片路径。

  • 确认图片在构建产物中存在
    部署前检查build/web/assets/images目录,确认目标图片已被正确复制到该目录,且文件名和代码引用一致。部分情况下,构建配置异常会导致资源未被打包进产物。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 16:36:07