hash与history两种模式的区别
- hash就是指url后面的#号以及后面的字符,history没有带#号,外观上会好看一些
- hash更能兼容低版本浏览器(ie8),history(ie10)
- hash值变化不会导致浏览器重新向服务器发送请求,而且改变时会触发hashchange事件,hashchange只能改变#号后面url片段,hash路径会出现在url中,但是不会出现在http请求中,但是history模式url要与后端保持一致,一旦出现后端没有的路径请求资源时就会报错
history如何解决刷新404:
所以我们在使用history模式使用路由时,需要后端的配合,或者前端使用nginx 中间代理区分前后端路由,找不到对应静态资源时候调制跳转到index.html文件