前端3种路由模式简单总结

422 阅读1分钟

hash

  • 使用条件:任何情况都能做前端路由
  • 缺点:SEO不友好(根源:服务器收不到hash)
    • 浏览器不会把 # 之后的内容发给服务器
    • 比如说,用户访问baidu.com/#1baidu.com/#xxx
    • 最后只会访问到baidu.com
    • 谷歌有针对hash的SEO 是!#,但它仍不能跟原本的SEO相媲美

history

  • 使用条件:后端将所有前端路由(路径不对时)都渲染同一页面
    • 如:用户输入baidu.com/xxxxxx不管这个xxxxxx是什么,最终都会渲染到首页
    • 同一页面不能是404
  • 缺点:不支持IE8及其以下

memory

  • 使用方法: 用一个对象存储 把路径存在用户看不见的地方(比如localSorage)

    • 这个模式适合非浏览器,比如APP
  • 与前两种的区别:前两种都是把路径存在URL上

  • 缺点:没有URL

    • 也就是说这个页面是单机的,没有办法分享给其他人
    • 比如说APP里面的页面,你没有办法通过URL分享给他人