如何解决基于TypeScript的Create React App部署至Netlify后出现404页面未找到的问题
解决Netlify上React应用部署后404的问题
这是Create React App部署到Netlify时非常常见的问题,核心原因和解决办法我给你理清楚:
问题根源
React是单页应用(SPA),所有路由逻辑都是在前端浏览器里处理的。当你直接访问Netlify上的某个子路径,或者刷新页面时,Netlify的服务器会尝试去寻找对应路径的静态文件,但这些文件并不存在——因为所有页面内容都是由index.html渲染的,所以就会返回404错误。
快速解决办法
你只需要添加一个路由重写规则,告诉Netlify把所有请求都转发到index.html,让React的前端路由来处理。有两种简单的实现方式:
方式一:创建_redirects文件
在你的React项目根目录下新建一个名为_redirects的文件,内容只需要一行:
/* /index.html 200
把这个文件提交到GitHub仓库,然后在Netlify上触发一次重新部署,问题就能解决。
方式二:配置netlify.toml文件
如果项目里已经有netlify.toml(没有的话直接新建),添加以下配置:
[[redirects]] from = "/*" to = "/index.html" status = 200
同样提交后重新部署即可。
额外检查点
确保Netlify的构建配置是正确的:
- 构建命令:确认是
npm run build(Create React App默认的生产构建命令) - 发布目录:确认是
build(Create React App构建后产物的默认目录,Netlify通常能自动识别,但如果有异常可以手动指定)
内容的提问来源于stack exchange,提问作者JimmyTheCode
相关产品推荐
相关产品推荐

