在单页应用SPA上,前端路由并不陌生。单页应用是指在浏览器中运行的应用,在使用期间页面不会重新加载。
基本原理:以hash形式(也可以使用HistoryAPI来处理)为例,当url的hash发生改变时,触发hashchange注册的回调,回调中去进行不同的操作,进行不同的内容的展示。
基于hash的前端路由优点是:能兼容低版本的浏览器。
history是HTML5才有的新API,可以用来操作浏览器的sessionhistory(会话历史)。
从性能和用户体验的层面来比较的话,后端路由每次访问一个新页面的时候都要向服务器发送请求,然后服务器再响应请求,这个过程肯定会有延迟。而前端路由在访问一个新页面的时候仅仅是变换了一下路径而已,没有了网络延迟,对于用户体验来说会有相当大的提升。
SPA的核心即是前端路由。何为路由呢?说的通俗点就是网址,比如