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

Flutter Web通过GitHub Actions部署GitHub Pages失败,页面空白求助

Flutter Web部署GitHub Pages空白页排查与解决

1. 修复工作流中的目录变量问题

你的工作流里使用了${{env.working-directory}}但未定义该环境变量,导致flutter pub get和flutter build web可能在错误目录执行,最终无法生成正确的Web产物。

修改方案:

  • 若Flutter项目在仓库根目录,直接删除working-directory: ${{env.working-directory}}这一行;
  • 若项目在子目录,先在jobs中定义env字段指定路径,示例:
jobs:  
  build-and-deploy:
    runs-on: ubuntu-latest
    env:
      working-directory: ./your-subdir # 替换为你的项目子目录路径
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    # 后续步骤保持不变

2. 添加base-href参数构建Web产物

GitHub Pages的访问路径为https://<用户名>.github.io/<仓库名>/,Flutter Web默认资源路径为根目录,不指定base href会导致资源加载失败,页面空白。

修改Build web app步骤的命令,添加--base-href参数:

- name: Build web app
  run: flutter build web --base-href="/<你的仓库名>/"
  working-directory: ${{env.working-directory}} # 若已定义目录则保留,否则删除该行

注意将<你的仓库名>替换为实际仓库名称。

3. 确认GitHub Pages部署配置

进入仓库的Settings -> Pages页面,检查:

  • Source是否选择GitHub Actions,而非其他分支(如gh-pages);
  • 部署环境是否为github-pages,与工作流配置一致。

4. 验证本地构建产物

手动在本地执行flutter build web --base-href="/<仓库名>/",查看build/web目录下是否有完整的HTML、JS、CSS文件,打开本地index.html测试(本地打开可能存在CORS报错,但至少能看到页面基础结构)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 13:33:16