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

React单页应用部署到GitHub Pages返回404错误如何解决?

问题排查与解决方案

1. 修正部署脚本配置

你当前package.json中的deploy脚本存在配置错误:

"deploy": "gh-pages -b main -d build"

其中-b main参数会将打包后的build目录内容推送到main分支,而非专门用于部署的gh-pages分支。同时你的项目.gitignore默认会忽略build目录,直接从main分支部署时,GitHub Pages找不到静态资源文件,所以无论你选择哪个分支作为部署源都会返回404。

  • 修改deploy命令为默认配置,将打包产物推送到gh-pages分支:
"deploy": "gh-pages -d build"

2. 重新执行部署

运行以下命令完成重新打包部署:

  • npm run deploy
    执行完成后进入仓库的Settings > Pages页面,确认部署源选择为gh-pages分支的/(root)目录,等待1-3分钟待GitHub Pages构建完成后再访问站点即可。

3. 处理客户端路由404问题

如果修复上述配置后首页可正常访问,但跳转其他路由后刷新页面仍报404,属于React单页应用客户端路由的共性问题,GitHub Pages作为静态文件服务无法识别前端路由规则,可通过以下方案解决:

  • 在项目public目录下新建404.html文件,内容和index.html完全相同
  • 也可以添加自动执行脚本,在打包后自动复制index.html为404.html,在package.json的scripts中新增:
"postbuild": "cp build/index.html build/404.html"

4. 路径大小写校验

GitHub Pages的文件路径是大小写敏感的,需检查所有静态资源文件名、路由路径的大小写是否和代码中引用的完全一致,避免因大小写不匹配导致资源加载失败。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:15:00