前端路由

548 阅读1分钟

什么时路由

路由就是分发请求的对象,前端路由主要是通过url的变化来渲染不同的内容,路由可以分为三种模式:hash、history、memory。

路由的三种模式

hash模式

hash模式在任何情况下都能使用,但是hash对SEO不友好。

跟在#号后面的所有字符都不会请求到服务器上,也就是说不论你访问baidu.com/#...,都会被认为是访问baidu.com。

google出了一种方式hashbang能够让服务求收到hash的请求,前提是需要在#号前面加上!号。类似于:baidu.com!#aaa

虽然这种方法是可行的但是依然不能和以前的SEO相比

history模式

后端将所有的内容都渲染到同一个页面的时候可以使用history模式。

IE8以下不支持

memory模式

把路径存在localstronge中,需要切换路由的是由就去localstronge中获取。改变路径的时候就将路径存在localsstronge中。url中的路径是不会改变的。

由于路径是不会改变的,这就导致复制出来的路径是默认的路径,这种方式只在单击中有效。

总结

hash模式和history模式都是通过路径来进行路由到不同的内容。

只不过hash模式使用的是哈希,history模式使用的路径。

memory模式是将路径存储在localstronge中,路径就不会显示在url中无法,这导致分享页面前端一般不会使用这种模式。