客户端路由
在网页应用中,路由 是指通过使用URL驱动UI的过程。在每个网页浏览器中URL都是一个显著的特征,并且从用户的角度来看有几个主要的功能:
- 书签 - 用户可以将URL加入到浏览器的书签中,以便保存需要随后查看的内容。
- 分享 - 用户可以通过发送某个确定页面的链接向其他人分享内容。
- 导航 - URL被用于驱动网页浏览器的前进/后退功能。
在一个传统的网页应用技术栈中,当每次服务器渲染一个HTML页面时,URL是用户访问应用的基本入口。当用户导航一个应用时,通过URL的点击事件并基于HTTP协议向服务器发起请求,而后经由服务器端的路由适当地做出响应。
与此相反的,Meteor遵循 数据无处不在 的原则,服务器不考虑URL或者HTML页面。客户端应用程序通过DDP协议与服务端交流。通常当一个应用载入时,它初始化一系列 订阅 用于抓取渲染应用的数据。当用户与应用交互时,不同的订阅会被载入,但在这个过程中并不涉及到关于URL的技术——在URL不改变的前提下你可以轻松的操作一个Meteor应用。
然而,上述罗列的关于URL中大部分面向用户的特征仍然与典型的Meteor应用有关。既然服务器不再以URL驱动,那么URL仅仅有效地呈现了一个当前用户浏览到的客户端状态。不管怎样,Meteor与服务器端渲染的应用不同,他不需要去描述用户所有的当前状态;只需简单的包含你想链接的部分。举个例子,URL需要包含任何搜索的过滤条件并应用在一个页面中,但下拉菜单或者弹出框就不是必须的了。