Vue Router——hash模式和 history模式

在 Vue.js 中,Vue Router 是官方提供的路由管理器,它允许你以单页面应用(SPA)的方式构建你的Vue应用。Vue

Router 支持两种路由模式:hash 模式和 history

模式。这两种模式的主要区别在于它们如何与浏览器的历史记录(History API)交互以及 URL 的形式。

Hash 模式

Hash 模式是 Vue Router 的默认模式。它使用 URL 的 hash(即 URL 中 # 后面的部分)来模拟一个完整的 URL,从而实现页面的跳转而无需重新加载页面。在 Hash 模式下,当 URL 改变时,页面不会重新加载。

Hash 模式的示例 URL:http://www.example.com/#/about

优点:

  • 兼容性好,可以在不支持 History API 的旧浏览器中使用。
  • 由于是基于锚点变化,不会向服务器发送请求获取新页面。

缺点:

  • URL 中会包含 #,对于某些需要 URL 干净的场景(如SEO)可能不是最佳选择。

History 模式

History 模式利用了 HTML5 的 History API 来实现页面的跳转而无需重新加载。这种模式允许你创建没有 hash 的正常 URL。

History 模式的示例 URL:http://www.example.com/about

优点:

  • URL 不含有 #,更加美观,对于需要 URL 干净的场景(如SEO)更加友好。

缺点:

  • 需要服务器端支持。因为在 History 模式下,如果用户直接访问或刷新非首页的 URL,服务器会收到一个路径请求,如果服务器没有被正确配置来匹配这个路径,就会返回 404 错误。因此,需要在服务器端添加一个回退处理,以便对所有的路径请求返回同一个 HTML 文件。
  • 不支持不支持 History API 的旧浏览器。

总结

选择哪种模式主要取决于你的需求以及目标浏览器的兼容性。如果你需要一个看起来更像传统网页的 URL 或者是在做SEO优化,History 模式可能是更好的选择,只要确保你的服务器配置能正确处理 SPA 的路由请求。如果你更关注兼容性或者不想额外配置服务器,那么 Hash 模式可能是更方便的选项。

相关推荐
科技D人生5 小时前
Vue.js 学习总结(20)—— Vue-Office 实战:word、pdf、excel、ppt 多种文档的在线预览
vue.js·word·vue-pdf·stylesheet·docx-preview·vue-office
vx1_Biye_Design5 小时前
基于Spring Boot+Vue的学生管理系统设计与实现-计算机毕业设计源码46223
java·vue.js·spring boot·spring·eclipse·tomcat·maven
vx_Biye_Design5 小时前
基于Spring Boot+vue的湖北旅游景点门票预约平台的设计--毕设附源码29593
java·vue.js·spring boot·spring cloud·servlet·eclipse·课程设计
hedley(●'◡'●)5 小时前
基于cesium和vue的大疆司空模仿程序
前端·javascript·vue.js·python·typescript·无人机
qq5_8115175155 小时前
web城乡居民基本医疗信息管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·vue.js·spring boot
百思可瑞教育5 小时前
构建自己的Vue UI组件库:从设计到发布
前端·javascript·vue.js·ui·百思可瑞教育·北京百思教育
百锦再5 小时前
Vue高阶知识:利用 defineModel 特性开发搜索组件组合
前端·vue.js·学习·flutter·typescript·前端框架
hdsoft_huge5 小时前
1panel面板中部署SpringBoot和Vue前后端分离系统 【图文教程】
vue.js·spring boot·后端
CappuccinoRose6 小时前
JavaScript 学习文档(二)
前端·javascript·学习·数据类型·运算符·箭头函数·变量声明
这儿有一堆花6 小时前
Vue 是什么:一套为「真实业务」而生的前端框架
前端·vue.js·前端框架