配置路由之后,访问'/''是正常的,但是访问'/detail'就报404,

来源:3-2 路由配置

小五_33

2019-04-25

请问老师,配置路由之后,访问'/''是正常的,但是访问'/detail'就报错404,是为什么呢?

这是router.jsx

http://img.mukewang.com/szimg/5cc173e8000173d708290392.jpg

浏览器显示是这样的:

访问'/'是正常的

http://img.mukewang.com/szimg/5cc175700001f45616060414.jpg

访问'/detail'就报404,发现两个路由访问的app.js文件的hash值不同,'/detail'时访问的app.js文件跟dist目录

下的hash值根本不同,不知道是为什么,可能是哪里的配置不对?请教老师。。。

http://img.mukewang.com/szimg/5cc175230001b3a315690414.jpg

写回答

2回答

zimo0612

2019-08-01

方案一:BrowserRouter 改为 HashRouter (弊端:不走服务端渲染,会有个#号样式丑)

方案二:historyApiFallback:true (弊端:只适合开发环境配置)

本项目如下配置:(让404页面都跳转到index.html,用已加载的react-router解析浏览器中的路由配置)

//img.mukewang.com/szimg/5d428bab09588d7404740127.jpg


0
0

Jokcy

2019-04-27

因为你在服务端的路由中没有处理对js文件的返回,所以你js文件的请求也进入到服务端渲染里面了,导致返回的是html内容。


而你这个问题应该是你的webpack里面没有配置publicPath导致了。你可以加一个/public/试试

0
0

React全栈+服务器渲染(ssr)打造社区Webapp

【毕设面试】只会写业务代码?out了,带你学会搭建属于自己的工程!

768 学习 · 414 问题

查看课程