在我的web应用程序中,我不想使用基于哈希的路由,我不希望看到任何#
出现在我的URL中。我想使用RESTful URL,例如。,http://www.example.com/blog/id.
react-router
可以很好地处理客户端路由,但如果用户点击浏览器地址栏上的enter或刷新页面,请求将被发送到web服务器,然后web服务器必须了解URL并处理路由。
同构是一个很好的解决方案,因为它可以在客户端和服务器端呈现任何页面。事实上,Github上有很多react-starter-kit项目声称是同构的。
在我看来,同构看起来很漂亮,但写代码太贵了:你需要让你的react组件在客户端和服务器端都能成功渲染,这需要开发人员付出巨大的努力。
所以我的问题是,我可以让react路由器同构,而不是整个代码吗?
是。您可以将react路由器用于具有HTML5历史的纯前端(非ismmorphic)应用程序。
路由是由客户端决定的,所以react路由器会吐出预期的页面。
然而,虽然您不需要编写任何服务器端代码,但您需要配置web服务器以将您的路线指向正确的位置。这通常意味着将每个请求(或每个有效请求)指向同一个HTML文件或入口点。具体如何做到这一点取决于您使用什么来服务您的页面-Express、Apache等
我希望这是有道理的。