Vue 路由的hash 模式和history 模式有什么区别
时间: 2024-01-09 16:04:19 浏览: 95
Vue 路由提供了两种模式:hash 模式和 history 模式。它们的区别如下:
1. hash 模式:使用 URL 中的 hash (#) 来模拟一个完整的 URL,当 URL 发生变化时,页面不会重新加载。在 Vue 中使用 hash 模式需要在创建路由时设置 mode 为 "hash",例如:
```javascript
const router = new VueRouter({
mode: 'hash',
routes: [...]
})
```
2. history 模式:使用浏览器的 history API 来管理 URL,当 URL 发生变化时,页面会重新加载。在 Vue 中使用 history 模式需要在创建路由时设置 mode 为 "history",例如:
```javascript
const router = new VueRouter({
mode: 'history',
routes: [...]
})
```
需要注意的是,使用 history 模式需要服务器端进行配置,以避免在页面刷新时出现 404 错误。而使用 hash 模式则不需要服务器端配置。另外,当使用 history 模式时,如果用户直接访问一个路由,而不是通过页面中的链接跳转,也会出现 404 错误。
相关问题
vue路由模式hash和history
vue路由有两种模式:hash模式和history模式。
hash模式是将路由信息放在URL的hash部分(即#后面的部分),例如:http://example.com/#/about,因此hash模式下的URL不会发送到服务器,只会在客户端进行匹配。
history模式将路由信息放在了正常的URL中,例如:http://example.com/about,因此history模式下的URL会发送到服务器,而需要服务器配置来重定向到正确的页面,所以它需要在服务器和客户端配合使用。
一般情况下,在开发环境使用hash模式,在生产环境使用history模式。
Vue的路由hash模式和 history模式的区别
Vue的路由hash模式和history模式的区别:
- Hash模式:路由路径中以“#”作为分隔符,#后面的内容为url的hash值。在url变化时,不会向服务器发送请求,只会在浏览器历史记录中添加一条记录,可以通过监听hashchange事件来进行前端路由跳转。
- History模式:路由路径中不带“#”,使用HTML5里的History API进行url的变化,变化时会向服务器发送请求,需要后端的支持,可以通过前端路由的pushState和replaceState等API来进行路由跳转。
总结来说,Hash模式可以兼容各种浏览器,并且不需要后端的支持;而History模式可以实现更加真实的url路径显示,但需要后端的支持。
阅读全文