外观:hash的url有个#,history没有;
刷新:hash刷新会加载到地址栏对应的页面,history刷新浏览器会重新发起请求;
原理:hash通过监听浏览器的onhasChange()查找对应的路由规则;history利用pushState()和replaceState()方法改变Url
记录:hash#后的内容被修改才会添加新的记录;history通过pushState()设置的url和当前一样也会添加新记录。
兼容性:hash兼容性性高于history
一般情况下,vue-router前端路由使用hash和history模式都可以