1. hash模式:
hash模式下,地址栏多出一个‘#’号,当‘#’号后面的hash值改变时并不会发起后台请求也不会刷新页面。
这在SPA中可以更流畅的进行页面(组件)切换。
原理:window对象中的 onhashchange对象方法。浏览器会记录下每次切换的hash,因此前进跟后退都可用。
影响:在实际应用中其实并没有什么影响,就是导航地址看起来乱
2.history模式:
history模式跟hash模式的作用及原理都差不多。只是依赖的是不同的window对象。
相比于hash模式,地址栏的地址没有‘#’号,但是当页面在没有编写axios请求的组件中刷新时数据就会被刷掉,
并且再刷新也不会进行请求。
SPA开发中,我们通常会对同一种同一条数据的请求尽量压缩请求次数,只请求一次并存储到Vuex实例化的store中,
也就是其它组件里面并不会再设置axios请求。因此使用history模式需要更细致的设计请求的分布。
3.hash模式是默认模式,要使用history模式则需要在nginx配置文件对应的location项的最后一行添加:
try_files $uri $uri/ /index.html;
# 这行就相当于 原来的 index index.html;