vue路由的几种模式。有什么区别

hash模式。

url上面会有#

hash模式的主要原理就是onhashchange()事件,表现就是修改#后面的内容不会向服务器发送http请求,因此也不会重新加载页面。

hash 模式打包后,直接在浏览器中打开 /dist/index.html 可以正常的访问

Hash模式的优点在于它兼容性好,可以在所有现代浏览器中工作,而不需要进行任何特殊处理。然而,它的缺点也很明显,那就是URL中包含了#符号,这在某些情况下可能会破坏URL的美观性,同时也不利于搜索引擎的优化(SEO)


history模式 。

url没有#。

History模式则利用了HTML5的History API来实现路由的切换。但是需要后端配合添加一些配置(配置服务器来正确返回你的index.html)。否则页面刷新会报404.(遇到的一个情况就是:

history模式vue项目打包文件之后 npm run build 出现dist包,里面就是单页面 index.html ,部署项目之后 我们点击路由 不会发生错误 但是如果刷新就会显示404,)

基于HTML5 History API :pushState和replaceState 这两个方法应用于浏览器的历史记录栈,提供了对历史记录进行修改的功能。修改url的时候会向服务端发出请求。

history 模式打包后,直接在浏览器中打开 /dist/index.html 会报错

History模式的缺点在于它的兼容性不如Hash模式。在一些老旧的浏览器中,History API可能不被支持,导致路由切换无法正常工作。因此,在使用History模式时,我们需要做好充分的兼容性处理,以确保在所有浏览器中都能获得良好的用户体验。


总的来说,Hash模式和History模式各有优缺点,选择哪种模式主要取决于你的应用需求和目标用户。如果你的应用需要兼容所有现代浏览器,并且对URL的美观性要求不高,那么Hash模式可能是一个更好的选择。而如果你的应用需要更好的用户体验和SEO效果,并且你的目标用户主要使用较新的浏览器,那么History模式可能更适合你。

相关推荐
一点一木15 分钟前
🚀 2025 年 11 月 GitHub 十大热门项目排行榜 🔥
前端·人工智能·github
白粥16 分钟前
HTML标题标签<h1>到<h6>
前端·html
IT_陈寒27 分钟前
React 18新特性实战:这5个Hook组合让我少写50%状态管理代码
前端·人工智能·后端
HashTang28 分钟前
【AI 编程实战】第 1 篇:TRAE SOLO 模式 10 倍速开发商业级全栈小程序
前端·后端·ai编程
syt_101333 分钟前
grid应用之响应式布局
前端·javascript·css
libolei35 分钟前
chrome浏览器安装axure插件
前端·chrome·chrome插件
黑臂麒麟44 分钟前
Electron&OpenHarmony 跨平台实战开发(一):electron-vite 与 Vue3 架构搭建指南
前端·javascript·electron·openharmony
少寒1 小时前
深入理解JavaScript Promise:异步编程的基石
前端·javascript
tecwlcvi3231 小时前
安卓版谷歌地图,Google地图高清版,谷歌地球,谷歌翻译,谷歌(Chrome)浏览器,手机版Edge,浏览器等安卓版浏览器下载
前端·chrome·edge
czlczl200209251 小时前
SpringBoot中web请求路径匹配的两种风格
java·前端·spring boot