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

create-react-app TypeScript项目部署gh-pages路由失效更新失败求助

部署内容无法更新排查

  • 先确认仓库的Pages部署源配置:进入仓库的Settings → Pages页面,检查Source选项是否设置为gh-pages分支、根目录,若当前选的是main/master分支,切换为gh-pages分支后保存,等待几分钟即可生效。
  • 调整deploy脚本:当前脚本的clean执行逻辑可能存在跨平台兼容问题,将scripts里的deploy字段替换为:
    "deploy": "gh-pages -d build -f"
    
    -f参数会强制推送构建产物,忽略本地缓存的旧部署记录,执行npm run deploy时会自动触发predeploy钩子执行build,无需手动提前跑build命令。
  • 执行部署命令时留意终端输出,如果出现权限报错,确认本地git已经配置了对应仓库的推送权限,或者使用SSH方式关联仓库。

路由不生效、仅渲染MainTemplate外层元素解决

这是GitHub Pages部署子路径应用的典型问题,你用的react-router-dom v5默认配置适配根路径部署,需做两处修改:

  • 替换路由模式:将代码中<BrowserRouter>标签替换为<HashRouter>,GitHub Pages原生不支持BrowserRouter的history模式,刷新会出现404,HashRouter通过哈希值匹配路由,无需服务端配置适配。
  • 添加路由基准路径:给Router组件添加basename属性,值为你站点的子路径,对应package.json里homepage的后缀:
    <HashRouter basename="/project-money-front">
      {/* 你的路由配置 */}
    </HashRouter>
    
  • 若要继续使用BrowserRouter,可在public目录下新增404.html文件,写入重定向逻辑,将所有路径请求重定向到index.html,再由前端路由接管匹配。

修改完所有配置后重新执行npm run deploy,等待GitHub Pages构建完成后刷新页面验证即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 22:00:02