100.路由的hash和history模式的区别

52 阅读1分钟

hash:

  • 是开发默认的模式,url后面带一个#
  • 不会重新加载页面,浏览器支持度挺好
  • 被称为前端路由,是SPA的标配

原理:onhashchange()事件

history:

  • 传统的路由分发模式,解析url,请求服务器
  • 需要后台配置支持,没有相应的路由或资源,就会404显示

原理:

  1. 1.修改历史状态:pushState() replaceState() 不会立即发送请求
  2. 2.切换历史状态:forward() back() go()

要切换到history模式,需要配置(同时后台也要配置)

  const router=new VueRouter()

  mode:'history'
  routes:[...]