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

Flutter Web部署GitHub Pages:base href配置及空白页问题

Flutter Web部署到GitHub Pages问题解答

1. 上传整个项目还是仅上传web文件夹?

不需要上传整个项目,但不能直接上传开发阶段的web文件夹。你需要先执行生产构建命令生成可部署的产物:

flutter build web

执行完成后,项目根目录会生成build/web文件夹,这个文件夹里包含了编译后的所有核心资源(比如main.dart.js、静态文件等),只需要把build/web内的所有内容上传到GitHub Pages对应的分支(通常是gh-pages分支)即可。
开发时的web文件夹仅为模板文件,缺少编译后的核心运行代码,直接上传会导致页面空白。

2. base href的修改位置及方法

从你提供的index.html代码来看,<base href="$FLUTTER_BASE_HREF">是Flutter预留的占位符,不建议手动修改这个占位符,正确的做法是在构建时通过命令行参数指定:

  • 假设你的GitHub Pages访问路径是https://你的用户名.github.io/你的仓库名/,构建命令需添加--base-href参数:
flutter build web --base-href "/你的仓库名/"

执行该命令后,构建生成的index.html里的base href会自动替换为"/你的仓库名/",确保资源加载路径正确。

如果已经手动修改了index.html,也可以直接将$FLUTTER_BASE_HREF替换为你的仓库路径,比如仓库名为air_duty_roster,修改后如下:

<base href="/air_duty_roster/">

注意路径必须以/开头和结尾,否则会出现资源加载错误。

额外排查点

确认GitHub Pages部署设置:

  • 进入仓库的Settings -> Pages,检查「Source」是否选择了正确的分支(如gh-pages),以及目录是否选择了/root(若你将build/web的内容上传到了分支根目录)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 21:13:01