如何部署GitHub嵌套文件夹中的React项目至Netlify?部署后白屏求解
针对你把React项目放在src/frontend子目录下,Netlify部署后出现白屏的问题,给你几个具体的排查和解决步骤:
指定Netlify基础目录
Netlify默认会在仓库根目录寻找项目文件,但你的React项目在src/frontend里,所以需要手动配置:- 登录Netlify控制台,进入你的站点页面
- 点击
Site settings→Build & deploy→Build settings - 在
Base directory输入框中填入src/frontend
确认构建命令与发布目录
确保Build settings里的配置正确:- 构建命令填
npm run build(如果用yarn就填yarn build) - 发布目录填
build(React执行build命令后,产物会生成在当前目录的build文件夹下,因为已经指定了基础目录,所以直接填build即可)
- 构建命令填
处理React路由导致的白屏(若使用路由)
如果你的项目用了React Router的BrowserRouter,Netlify需要重写规则才能正确处理路由:
在src/frontend/public目录下创建_redirects文件,写入以下内容:/* /index.html 200这个文件会在build时被自动复制到
build目录,确保所有路由请求都指向index.html。检查构建日志排查错误
进入Netlify控制台的Deploys页面,找到最近一次部署记录,点击Logs查看详细构建过程。如果有依赖安装失败、build命令报错等问题,都会导致没有生成有效的静态文件,进而出现白屏。比如根目录的package.json可能会干扰依赖安装,这时候可以在Build settings里指定Node版本,确保和本地开发环境一致。验证本地构建是否正常
先在本地进入src/frontend目录,执行npm install和npm run build,然后用serve -s build命令启动本地服务测试,如果本地也出现白屏,那问题出在项目本身,比如代码错误、依赖缺失,需要先排查本地项目问题。
内容的提问来源于stack exchange,提问作者Bindupautra Jyotibrat

