部署React应用至Netlify时遭遇404错误求助
解决Netlify部署React应用的404错误问题
确认构建配置
登录Netlify后台进入站点设置,找到「Build & deploy」板块:- 构建命令设为
npm run build(Create React App项目默认命令) - 发布目录指定为
build
先在本地执行npm run build,确认能正常生成build文件夹,且文件夹内包含完整的静态资源文件。
- 构建命令设为
正确配置_redirects文件
_redirects必须最终出现在build目录根路径下:- 在项目的
public文件夹中创建_redirects文件,内容为:
注意用空格分隔三个部分,不要用制表符或多余符号。/* /index.html 200 - 本地执行
npm run build后,检查build文件夹里是否存在_redirects(Create React App会自动复制public下的文件到build)。如果复制失败,可在package.json的build脚本中添加复制命令:- Mac/Linux:
"build": "react-scripts build && cp public/_redirects build/_redirects" - Windows:
"build": "react-scripts build && copy public/_redirects build/_redirects"
- Mac/Linux:
- 在项目的
检查React路由设置
若使用React Router的BrowserRouter,必须配合Netlify的重定向规则才能处理非根路径的路由。如果之前用HashRouter,可临时切换测试是否解决问题,但推荐用BrowserRouter配合_redirects配置。清除Netlify部署缓存
进入Netlify站点的「Deploys」页面,找到最新部署记录,点击右上角「Clear cache and deploy site」按钮,重新触发完整部署,避免旧缓存导致配置不生效。验证本地构建产物
本地执行npm run build后,用静态服务器(比如npx serve build)测试build文件夹,确认所有路由都能正常访问。如果本地测试也出现404,说明是项目本身的路由或构建问题,先在本地修复再重新部署。
内容的提问来源于stack exchange,提问作者Cbenks
相关产品推荐
相关产品推荐

