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模式可能更适合你。

相关推荐
吞掉星星的鲸鱼31 分钟前
使用高德api实现天气查询
前端·javascript·css
lilye6634 分钟前
程序化广告行业(55/89):DMP与DSP对接及数据统计原理剖析
java·服务器·前端
....49235 分钟前
Vue3 + Element Plus + AntV X6 实现拖拽树组件
javascript·vue.js·elementui·antvx6
zhougl9962 小时前
html处理Base文件流
linux·前端·html
花花鱼3 小时前
node-modules-inspector 可视化node_modules
前端·javascript·vue.js
HBR666_3 小时前
marked库(高效将 Markdown 转换为 HTML 的利器)
前端·markdown
careybobo4 小时前
海康摄像头通过Web插件进行预览播放和控制
前端
TDengine (老段)5 小时前
TDengine 中的关联查询
大数据·javascript·网络·物联网·时序数据库·tdengine·iotdb
杉之6 小时前
常见前端GET请求以及对应的Spring后端接收接口写法
java·前端·后端·spring·vue
喝拿铁写前端6 小时前
字段聚类,到底有什么用?——从系统混乱到结构认知的第一步
前端