react-router作为react框架路由解决方案在react项目中举足轻重。而组件从名字能看出它从不修改路由,这在服务器端渲染时很有用。组件我们最为熟悉的路由组件不用再多赘述,这里来说说我在使用react-router推荐的时遇到的坑。和都可以实现前端路由的功能,区别是前者基于rul的pathname段,后者基于hash段。在react-router 4.0 的文档中有这样一段话:这就要求服务器要配合前端做一些简单的修改。此处踩坑无数,在网上搜索方法后换用nginx,使用try_files字段定向到入口html,但是重定向后,webpack打包的js文件没有执行。在查看firebug时发现此次刷新的响应头中设置了"Connection":"keep-alive";觉得问题应该出在这里,换用nodejs用200状态配合keep-alive果然解决了问题。在react-router 4.0 多级路由下刷新页面不会再404,而是保存了前端状态。

详解react-router 4.0 下服务器如何配合BrowserRouter

详解react-router 4.0 下服务器如何配合BrowserRouter