# HashRouter和BrowserRouter

# 原理分析

  • hash路由是通过改变location.hash,监听hashchange事件,实现路由的改变
  • browser路由是通过history的pushState、replaceState,监听popstate实现路由

# 区别

  • hash路由通过hash改变的,所以浏览器页面并不会重新请求,只是页面结构改变
  • browser路由是通过改变state,会触发浏览器请求,所以使用browser的时候需要服务端进行配置