hash
- 使用条件:任何情况都能做前端路由
- 缺点:SEO不友好(根源:服务器收不到hash)
- 浏览器不会把
#之后的内容发给服务器 - 比如说,用户访问
baidu.com/#1或baidu.com/#xxx - 最后只会访问到
baidu.com - 谷歌有针对hash的SEO 是
!#,但它仍不能跟原本的SEO相媲美
- 浏览器不会把
history
- 使用条件:后端将所有前端路由(路径不对时)都渲染同一页面
- 如:用户输入
baidu.com/xxxxxx不管这个xxxxxx是什么,最终都会渲染到首页 - 同一页面不能是404
- 如:用户输入
- 缺点:不支持IE8及其以下
memory
-
使用方法: 用一个对象存储 把路径存在用户看不见的地方(比如localSorage)
- 这个模式适合非浏览器,比如APP
-
与前两种的区别:前两种都是把路径存在URL上
-
缺点:没有URL
- 也就是说这个页面是单机的,没有办法分享给其他人
- 比如说APP里面的页面,你没有办法通过URL分享给他人