部署到GitHub Pages的React应用持续显示空白页问题求助
检查
package.json配置
首先确认根目录下package.json中已添加正确的homepage字段,值为:"homepage": "https://Michael-ET.github.io/Reddit-reader"未配置该字段时,打包后的静态资源会默认使用站点根路径寻址,而GitHub Pages项目的默认访问路径是子目录,会导致资源404,最终渲染空白页。
核对部署命令配置
确认package.json的scripts字段中已添加正确的部署指令:"scripts": { "predeploy": "npm run build", "deploy": "gh-pages -d build" }每次部署执行
npm run deploy即可自动完成打包、推送静态资源到gh-pages分支的操作,无需手动提交build文件夹。检查仓库Pages配置
进入仓库Settings → Pages页面,确认Source处的部署分支选择为gh-pages,目录选择为/(root),若错误选择了main分支作为部署源,会直接加载源码而非编译后的静态页面,导致空白。修复路由兼容问题
如果项目中使用了BrowserRouter做路由管理,需要替换为HashRouter。GitHub Pages为静态文件托管服务,不支持BrowserRouter所需的服务端重定向配置,容易出现访问路径匹配失败导致的空白问题。排查控制台报错
访问部署后的页面按下F12打开开发者工具,查看Console面板的报错信息:若为静态资源404则回到第一步核对homepage配置;若为代码运行时报错,则需先修复本地开发环境下的对应问题后重新部署。
注意:GitHub Pages已全站强制HTTPS,将链接改为HTTP的操作不仅无法解决问题,还可能引发资源加载异常,建议改回HTTPS配置。
内容的提问来源于stack exchange,提问作者Michael-ET

