路由模式
1、模式配置
javascript
const router = new VueRouter({
mode: 'hash', // 默认hash模式
routes: [...]
})
2、hash模式
- http://localhost:8080/#/home
- mode 默认为 hash 模式。
- 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载,其显示的网路路径中会有 "#" 号,有一点点丑。这是最安全的模式,因为他兼容所有的浏览器和服务器。
3、history模式
- http://localhost:8080/home
- 美化后的hash模式,会去掉路径中的 "#"。依赖于Html5 的history,pushState API。并且还包括back、forward、go三个方法,对应浏览器的前进,后退,跳转操作。就是浏览器左上角的前进、后退等按钮进行的操作。
javascript
history.go(-2);//后退两次
history.go(2);//前进两次
history.back(); //后退
hsitory.forward(); //前进
但是history也是有缺点的,不怕前进后退跳转,就怕刷新(如果后端没有准备的话),因为刷新是实实在在地去请求服务器了,选择history模式,后端需要配置如果找不到页面,默认跳转index.html,前端处理404页面等特殊情况。