Vue 路由:Hash 模式与 History 模式详解

这篇具有很好参考价值的文章主要介绍了Vue 路由:Hash 模式与 History 模式详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        Vue 是一款流行的前端框架,它提供了强大的路由功能,用于构建单页应用程序(SPA)。Vue 路由有两种模式:Hash 模式和 History 模式。本文将详细介绍这两种模式的原理、特点和使用场景,帮助你在 Vue 项目中选择适合的路由模式。

一、Hash 模式

        Hash 模式是 Vue 路由的默认模式。在 Hash 模式下,URL 中的路径会以 # 符号作为分隔符,后面跟随一个不会提交到服务器的片段标识符(hash)。例如,http://example.com/#/home

        Hash 模式的原理是监听浏览器的 hashchange 事件,当 URL 的 hash 发生变化时,Vue 路由会根据相应的配置加载对应的组件。

Hash 模式的特点:

  1. 兼容性好:Hash 模式支持所有现代浏览器,并且在不支持 HTML5 History API 的旧版浏览器上也能正常工作。
  2. 简单配置:在 Vue 路由中,默认使用 Hash 模式,不需要额外的配置。
  3. 易于部署:由于使用了 hash,URL 发生变化时不会触发页面刷新,因此部署时只需将静态文件部署到服务器即可。

二、History 模式

        History 模式是 Vue 路由的另一种模式。在 History 模式下,URL 中的路径不再使用 # 符号,而是直接使用正常的路径形式。例如,http://example.com/home

        History 模式的原理是使用 HTML5 History API 中的 pushState 和 replaceState 方法,它们可以在不刷新页面的情况下修改浏览器的历史记录和 URL。

History 模式的特点:

  1. 真实 URL:History 模式使用正常的路径形式,更符合用户的直观感受,URL 更加美观。
  2. 无需 hash:相对于 Hash 模式,History 模式的 URL 中不包含 # 符号,更加简洁。
  3. 需要服务器配置:使用 History 模式需要服务器进行相应的配置,以确保在直接访问 URL 时返回正确的页面。

三、如何选择合适的路由模式

        在选择路由模式时,可以根据实际需求和项目要求进行考虑。

使用 Hash 模式:

  • 如果你的项目不需要考虑兼容性问题,或者需要在旧版浏览器中支持路由功能。
  • 如果你希望简化部署过程,只需将静态文件部署到服务器即可。

使用 History 模式:

  • 如果你希望 URL 更加美观、简洁,不希望在 URL 中出现 # 符号。
  • 如果你可以进行服务器配置,确保在直接访问 URL 时返回正确的页面。
  • 如果你的项目不需要考虑旧版浏览器的兼容性问题。

在 Vue 项目中,可以通过在路由配置中设置 mode 属性来切换路由模式:

const router = new VueRouter({
  mode: 'history', // 或者 'hash'
  routes: [...]
});
喜欢的话麻烦点个赞吧,如果觉得写得不错欢迎赞赏哦!

vue路由hash与history,Vue,vue.js,前端,javascript

 文章来源地址https://www.toymoban.com/news/detail-740108.html

到了这里,关于Vue 路由:Hash 模式与 History 模式详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端路由hash模式以及history模式详解

    在前后端分离的项目中,前端一般使用 SPA 单页面应用模式来开发项目。那么,什么是 SPA 呢? 单页Web应用(single page web application,SPA),就是只有一张Web页面的应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。 我的理解: 单页面应用就是

    2024年02月10日
    浏览(39)
  • Vue history和hash模式

             ~~~~~~~~                 在Vue.js中,路由模式是用来管理应用程序中不同页面之间的导航的机制。Vue Router支持两种常见的路由模式:history模式和hash模式。 History 模式:          ~~~~~~~~                 History模式使用浏览器的history.pushState API 来管理路由。它

    2024年02月12日
    浏览(37)
  • vue3中路由hash与History的设置

     history模式直接指向history对象,它表示当前窗口的浏览历史,history对象保存了当前窗口访问过的所有页面网址。URL中没有#,它使用的是传统的路由分发模式,即用户在输入一个URL时,服务器会接收这个请求,并解析这个URL,然后做出相应的逻辑处理。 当使用history模式时,

    2024年02月16日
    浏览(67)
  • Vue-router中的Hash模式与History模式

    在Vue Router中,Hash模式是一种URL的哈希模式,也被称为锚点模式。在Hash模式下,URL中的哈希部分(即#号后面的内容)会被用作路由的标识符,而不会触发浏览器向服务器发送请求。 Hash模式的URL示例: http://example.com/#/home 在Hash模式下,Vue Router会监听URL中哈希部分的变化,并

    2024年02月15日
    浏览(47)
  • 解密前端路由: hash模式vs.history模式

    当你构建一个网站时,可能会遇到如何处理 URL 的问题。在URL中,有两种常见的模式: hash模式和history模式 。 1. Hash模式(哈希模式): 在 hash 模式中, URL 中的 hash (即#号后面的部分)用于标记网页的不同部分或状态。当 URL 的 hash 发生改变时,页面不会重新加载,而是通

    2024年02月11日
    浏览(45)
  • 路由的hash和history模式的区别

    目录 ✅ 路由模式概述 一. 路由的hash和history模式的区别 1. hash模式 2. history模式 3. 两种模式对比 二. 如何获取页面的hash变化 单页应用是在移动互联时代诞生的,它的目标是不刷新整体页面,通过地址栏中的变化来决定内容区域显示什么内容。 要达成这个目标,我们要用到前

    2024年02月14日
    浏览(40)
  • Vue3 Vue-Router详解 Vue3配置hash 和 history路由、Vue3封装的路由hook函数(useRouter,useRoute)的使用 路由懒加载、路由分包处理、魔法注释的使用

     html部分 js部分  html页面使用路由传来的参数  获取router跳转id 获取 路由跳转错误地址

    2024年02月11日
    浏览(45)
  • vue项目的打包方式、生成dist文件夹、publicPath、hash、history、assetsPublicPath

    配置 vue.config.js 文件 打开 vue.config.js 文件修改参数,如果项目的目录中没有 vue.config.js 文件,那么需要自建一个配置文件;在根目录 src 下创建文件即可。需注意文件名称必须是 vue.config.js ,然后在文件中写入代码。 ☺☺☺☺☺☺☺ 配置 router/index.js 文件 以上的配置不能混

    2024年02月03日
    浏览(57)
  • hash 模式和 history 模式的实现原理

    #后面的 hash 值的变化不会导致浏览器向服务器发出请求,浏览器不发出请求,就不会刷新页面。通过监听 hashchange 事件的变化可以知道 hash 值发生了哪些变化,然后根据 hash 值的变化来实现更新页面部分内容的操作 history 模式的实现主要是通过 HTML5 标准发布的两个 api,pus

    2024年02月14日
    浏览(37)
  • vueRouter中Hash模式和History模式有什么区别

    VueRouter是Vue.js官方推荐的前端路由库,它提供了一种方便的方式来构建单页应用(SPA)。在使用VueRouter时,我们可以选择不同的路由模式,其中最常见的是Hash模式和History模式。本文将深入探讨这两种模式的区别,并提供示例代码来帮助读者更好地理解它们。 Hash模式是VueRo

    2024年02月19日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包