hash和history的区别
vue-router中hash模式和history模式。
在vue的路由配置中有mode选项,最直观的区别就是在url中的hash带了一个很丑的#,而history是没有#的。
mode:“hash”;
mode:“history”
hash
简单来说hash虽然出现在UPL中,但不被包括在HTTP请求中,对后端完全没有影响,因此改变hash不会重新加载页面。
history模式的问题
通过history api,我们丢掉了丑陋的#,但是它也有个问题:不怕前进,不怕后退,就怕刷新,f5,(** 如果后端没有准备的话 **),因为刷新是实实在在地去请求服务器的。
在hash模式下,前端路由修改的是#中的信息,而浏览器请求是不会将#后面的数据发送到后台,所以没有问题。但是history下,你可以自由的修改path,当刷新时,如果服务器中没有相应的响应或者资源,则会刷新出来404页面。