react项目刷新页面出现404的原因以及解决办法
react项目刷新页面出现404的原因以及解决办法
问题描述:在react项目,正常的页面操作跳转,不会出现404的问题,但是一旦刷新,就会出现404报错。
产生原因:我们打开react打包后生成的dist文件夹,可以看到只有一个 index.html 文件及一些静态资源,这个是因为react是单页应用(SPA),只有一个index.html作为入口文件,其它的路由都是通过JS来进行跳转的。
而网页上显示的是静态资源的绝对路径,虽然浏览器上的url变化了,但实际上服务器的静态资源是没有更改路径的,始终只有index.html这一个入口,所以刷新就会导致url上的路径和服务器上的资源不匹配,无法找到静态资源,从而报错404。(多页应用因为有多个入口文件,所以不会有这样的问题)。这就是BrowserRouter模式在路径和后端不匹配时容易出现404问题。
解决方案:使用HashRouter模式
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 永恒之爱
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果