既然我们可以在服务器上使用 Express 进行路由,为什么还需要客户端路由器呢? 有什么好处,是否只对 SPA 有意义?
需要客户端路由来保持应用程序与浏览器 URL 同步。
它主要适用于单页应用程序 (SPA),其中后端将用于通过 XHR 或 AJAX 调用进行 RESTful API 调用。
作为 SPA,用户可以为您的 URL 添加书签,当他们再次点击该 URL 时,您的应用程序应该加载该页面的数据及其状态。
服务器端路由和客户端路由的主要区别:
www.something.com/page1/tab1
将在 UI 中显示 tab1www.something.com/page1.tab2
将在 UI 中显示 tab2
通过这种方式,url 可以变得更复杂,并且您可以拥有带有状态的子路由。
那些需要客户端路由器的人需要它进行状态管理。假设您有服务器渲染的页面,但有一些客户端小部件 - 例如日历、一组过滤器或折叠或打开的侧边栏。路由器可以帮助您将页面的这些组件初始化为您想要的确切状态。当然,您也可以完成其中的大部分工作以及我在服务器上命名的所有用例。但在客户端处理这些通常要容易得多。您可能会在服务器上更快地渲染它,但有时,尤其是在进行部分页面更新时,处理客户端会更便宜且更快。