首页IT科技vuerouter路由守卫执行顺序(vue-router的两种模式)

vuerouter路由守卫执行顺序(vue-router的两种模式)

时间2025-09-19 12:01:23分类IT科技浏览5142
导读:hash 和 history 区别:...

hash 和 history

区别:

外观上:hash的路由在url中带有#号

功能上:

hash虽然在url中                ,但是请求不会包裹它                         ,对后端不会产生任何影响        ,改变hash不会重新加载页面                 。

history是利用了html5 history interface中新增的pushState()和replaceState()方法                        。这两个方法是应用于浏览器的历史记录栈        ,是以当前已有的back(),forward(),go()方法为基础的                         ,提供了对历史记录进行修改的功能        。这两个方法执行修改时                 ,只是修改了地址栏中的url        ,而不会向后端发送请求                        ,也不会触发popstate事件                 。

因此                 ,hash和history都是属于浏览器自身的特性,而vue-router只是调用浏览器提供的接口借助这两个特性来实现前端的路由                         。

404问题:

1                 、在hash模式下                        ,仅hash符号之前的内容会被包含在请求中                         ,如 http://www.page.com,对于后端来说                ,即使没有做到对路由的全覆盖                         ,也不会返回404错误;

2                        、在history模式下        ,前端的url必须和实际后端发起请求的url一致                ,如http://www.page.com/person/name         。如果后端缺少对/person/name 的路由处理                         ,将返回404错误        。

利弊:

如果是to B系统        ,对url要求不敏感        ,简单易用                         ,推荐 hash

to C系统                 ,需要服务端支持的话        ,推荐使用history

注:在开发过程中                        ,默认开启的模式为hash                 ,开启history模式需要配置mode:history

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
vue性能问题(【vue2】vue2中的性能优化(持续更新中))