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

Flutter Web构建assets路径重复问题解决方案咨询

解决方案

1. 检查资源加载代码路径

确保代码中通过标准方式加载资源,避免手动拼接错误路径:

final String jsonString = await rootBundle.loadString('assets/categorias.json');

2. 修正pubspec.yaml配置

确认资源配置未出现嵌套目录的错误写法,保持与你的项目结构匹配:

flutter:
  uses-material-design: true
  assets:
    - assets/categorias.json

若之前配置过- assets/这类目录级规则,可能导致打包后出现assets/assets/的嵌套结构,需删除此类配置。

3. 打包时指定GitHub Pages适配的base-href

如果你的GitHub Pages部署在仓库子路径(如https://<用户名>.github.io/<仓库名>/),打包时必须添加--base-href参数,否则资源会从根目录查找导致404:

flutter build web --base-href "/<你的仓库名>/"

示例:仓库名为flutter-web-app时,命令为:

flutter build web --base-href "/flutter-web-app/"

4. 清理缓存后重新打包

删除项目根目录下的build文件夹,再重新执行打包命令,避免旧缓存导致的路径异常。

5. 验证部署文件结构

确保上传到GitHub Pages的是build/web目录下的所有内容,而非整个build文件夹。检查gh-pages分支中的文件,确认categorias.json位于assets/目录下,而非嵌套的assets/assets/中。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 17:18:16