当前位置: 首页 > news >正文

海东高端网站建设网站建设中两个月了

海东高端网站建设,网站建设中两个月了,福清seo,aspnet网站开发实例视频文章目录 hash和history模式区别Hash 模式History 模式 在 Vue 中,路由的两种主要模式是 hash 和 history,默认的路由模式是hash模式。。这两种模式决定了 URL 的外观以及浏览器如何处理 URL 的变化。 hash和history模式区别 特性Hash 模式History 模…

文章目录

  • hash和history模式区别
  • Hash 模式
  • History 模式

在 Vue 中,路由的两种主要模式是 hashhistory,默认的路由模式是hash模式。。这两种模式决定了 URL 的外观以及浏览器如何处理 URL 的变化。


hash和history模式区别

特性Hash 模式History 模式
URL 表现形式URL 中带有 # 符号,如 http://example.com/#/aboutURL 看起来更干净,没有 # 符号,如 http://example.com/about
服务器配置不需要特殊的服务器配置需要服务器配置以支持客户端路由,返回 index.html
兼容性所有现代浏览器都支持大多数现代浏览器都支持,但在一些较旧的浏览器或特殊环境中可能不支持
美观度URL 中带有 # 符号可能看起来不太美观URL 看起来更干净,没有额外的符号
SEO# 后面的内容不会被搜索引擎视为页面的一部分与常规页面一样,可以被搜索引擎索引
书签书签中的 URL 会包含 # 符号书签中的 URL 更简洁
刷新页面刷新页面时,通常能够保持当前路由状态如果没有正确的服务器配置,刷新页面可能会返回 404 错误
浏览器前进/后退按钮正常工作正常工作
配置方式Vue Router 默认使用 Hash 模式需要在创建 Vue Router 实例时明确指定 mode: 'history'

Hash 模式

hash值会出现在URL里面,但是不会出现在HTTP请求中,对后端完全没有影响。所以改变hash值,不会重新加载页面。这种模式的浏览器支持度很好,低版本的IE浏览器也支持这种模式。hash路由被称为是前端路由,已经成为SPA(单页面应用)的标配。

特点:

  • URL 中会带有一个 # 号,例如 http://example.com/#/home
  • 浏览器不会将带有 # 及其后面的部分发送到服务器请求资源
  • 仅改变 # 后面的部分,不会重新加载页面
  • 兼容性较好,所有现代浏览器都支持

切换到hash模式:

  • Vue2.x中:

    const router = new VueRouter({mode: 'hash',routes
    })
    
  • Vue3.x中:

    const router = createRouter({history: createWebHashHistory(),routes
    });
    

hash模式的主要原理就是onhashchange()事件:

window.onhashchange = function(event){console.log(event.oldURL, event.newURL);let hash = location.hash.slice(1);
}

使用onhashchange()事件的好处就是,在页面的hash值发生变化时,无需向后端发起请求,window就可以监听事件的改变,并按规则加载相应的代码。

除此之外,hash值变化对应的URL都会被浏览器记录下来,这样浏览器就能实现页面的前进和后退。虽然是没有请求后端服务器,但是页面的hash值和对应的URL关联起来了。


History 模式

history模式的URL中没有#,它使用的是传统的路由分发模式,即用户在输入一个URL时,服务器会接收这个请求,并解析这个URL,然后做出相应的逻辑处理。

虽然history模式丢弃了丑陋的#。但是,它也有自己的缺点,就是在刷新页面的时候,如果没有相应的路由或资源,就会刷出404来。

特点:

  • URL 看起来更加“干净”,没有 # 号,例如 http://example.com/home
  • 浏览器会将 URL 的变化当作一个普通的页面跳转,可能会向后端服务器发起请求
  • 需要后端进行配置,以便对所有路由都返回同一个页面(通常是 index.html),否则就会404
  • 兼容性相对较差,IE9 以下不支持

切换到history模式:

  • Vue2.x中:

    const router = new VueRouter({mode: 'history',routes: [...]
    })
    
  • Vue3.x中:

    const router = createRouter({history: createWebHistory(),routes
    });
    

后端配置:

当使用 history 模式时,需要确保后端服务器对所有路由都返回同一个页面(通常是 index.html)。
以下是一个 Nginx 的配置示例:

location / {  try_files $uri $uri/ /index.html;  
}

这个配置告诉 Nginx,如果请求的文件或目录不存在($uri 和 $uri/ 都不匹配),就返回 index.html。
这样,无论用户访问哪个 URL,都会返回 Vue 应用的入口文件,然后由 Vue Router 接管后续的路由处理。

http://www.yayakq.cn/news/525759/

相关文章:

  • 天津建设电工证查询网站建设商场黄金网站
  • 网站规划有哪些内容怎样在手机上建立自己的网站
  • 建视频网站成都找人做网站
  • 做一个网站以及app多少钱浙江舟山城乡建设网站
  • 襄阳建设局网站温州网站制作公司
  • 教程seo推广排名网站滨海县城乡建设局网站
  • 莆田哪里有网站开发网站开发主流技术
  • 网站百度无排名威海优化公司立找2火星
  • 宝安中心站太仓市住房和城乡建设局官方网站
  • 网创项目资源网站长沙网站设计我选刻
  • 济南长兴建设集团有限公司网站小程序源码免费下载
  • 建设响应式网站有哪些好处精品ppt模板免费下载
  • asp.net获取网站虚拟目录建设银行发卡银行网站
  • seo优化啥意思公司优化是什么意思?
  • 域名备案后网站打不开阿里巴巴官网招聘网站
  • 下载建设银行官方网站下载做网站语言
  • 免费个人建站系统网站规划建设
  • 帮人做彩票网站临沂品牌网站制作
  • 网站建设成本多少虚拟主机怎么搭建
  • 南雄市住房和城乡建设局网站wordpress生成app
  • 制作平台网站方案电子商务网站建设工具
  • 网站建设专有名词威海建设集团的网站是什么
  • 嘉兴 网站建设成都高端网站建设
  • app网站设计彭州做网站
  • 新开传奇网站站美食网页设计模板中文
  • 青岛网站改版电商网站开发目的
  • 盐城公司网站建设企业宽带可以做网站吗
  • 网站建设是前端后端吗怎么购买国外的域名
  • 天津网站制作西安个人网站备案 淘宝客
  • 浙江网站建设公司名单网站建设的费用记什么科目