Vue Router4与Router3路由配置与区别说明

 更新时间:2025年04月01日 14:38:24   作者:猫老板的豆  
这篇文章主要介绍了Vue Router4与Router3路由配置与区别说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

路由安装

  • Vue 2 (使用 Vue Router 3) :
npm install vue-router@3
  • Vue 3 (使用 Vue Router 4) :
npm install vue-router@4

路由配置

vue-router 3 版本写法

配置路由

// router/index.js  
import Vue from 'vue'  
import Router from 'vue-router'  
import Home from '../views/Home.vue'  
import About from '../views/About.vue'  
  
Vue.use(Router)  

const routes = [  
  {  
    path: '/',  
    name: 'Home',  
    component: Home  
  },  
  {  
    path: '/about',  
    name: 'About',  
    component: About  
  }  
]  

export default new Router({  // 区别1
  mode: 'history',  // 区别2
  base: process.env.BASE_URL,  
  routes 
})

使用路由

// main.js  
import Vue from 'vue'  
import App from './App.vue'  
import router from './router'  
  
new Vue({  
  router,  
  render: h => h(App)  
}).$mount('#app')  // 区别3  

vue-router 4 版本写法

配置路由

// router/index.js
import { createRouter, createWebHistory } from 'vue-router'  
import Home from '../views/Home.vue'  
import About from '../views/About.vue'  
  
const routes = [  
  {  
    path: '/',  
    name: 'Home',  
    component: Home  
  },  
  {  
    path: '/about',  
    name: 'About',  
    component: About  
  }  
]  
  
const router = createRouter({  // 区别1
  history: createWebHistory(process.env.BASE_URL),  // 区别2
  routes  
})  
  
export default router

使用路由

// main.js  
import { createApp } from 'vue'  
import App from './App.vue'  
import router from './router'  
  
const app = createApp(App)  
app.use(router)  // 区别3  
app.mount('#app')

Vue Router 4 与 Vue Router 3 区别

  • 与 Vue 版本的兼容性:Vue Router 4 是专门为 Vue 3 设计的,而 Vue Router 3 与 Vue 2 兼容。
  • Composition API 的集成:Vue Router 4 提供了更好的对 Vue 3 Composition API 的支持,允许你使用 useRouteuseRouter 钩子在组合式组件中访问路由信息。
  • TypeScript 支持:Vue Router 4 对 TypeScript 提供了更好的支持,类型定义更加完整和准确。
  • 路由守卫的改进:Vue Router 4 改进了路由守卫(导航守卫)的 API,提供了更多的灵活性和控制。
  • 滚动行为:Vue Router 4 改进了滚动行为的管理,允许更细粒度的控制。

具体体现在:

  1. createRouter() 替换 new Router()
  2. 路由模式由 createWebHistory() 替换 mode: 'history'
  3. main.js中由 .use(router) 替换 new Vue({ router })

路由模式区别

vue-router 3.xvue-router 4.x
historycreateWebHistory()
hashcreateWebHashHistory()
abstractcreateMemoryHistory()

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue router动态路由实现过程

    Vue router动态路由实现过程

    Vue动态路由(约定路由),听起来好像很玄乎的样子,但是你要是理解了实现思路,你会发现没有想象中的那么难,下面这篇文章主要给大家介绍了关于vue实现动态路由添加功能的简单方法,需要的朋友可以参考下
    2023-03-03
  • Vue实现预览docx/xlsx/pdf等类型文件功能

    Vue实现预览docx/xlsx/pdf等类型文件功能

    这篇文章主要介绍了如何在Vue中实现docx/xlsx/pdf等类型文件预览功能,在实现过程中,需要注意文件的格式和转换方式,以及插件和组件的使用方法和注意事项,需要的朋友可以参考下
    2023-05-05
  • vue设计与实现合理的触发响应

    vue设计与实现合理的触发响应

    这篇文章主要为大家介绍了vue设计与实现合理的触发响应示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • vue中使用腾讯云Im的示例

    vue中使用腾讯云Im的示例

    这篇文章主要介绍了vue中使用腾讯云Im的示例,帮助大家调用对应的api,完成自己的项目,感兴趣的朋友可以了解下
    2020-10-10
  • vue中关于template报错等问题的解决

    vue中关于template报错等问题的解决

    这篇文章主要介绍了vue中关于template报错等问题的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue将单页面改造成多页面应用的方法

    vue将单页面改造成多页面应用的方法

    最近领导交我一个项目是使用 vue-cli 搭建的单页面应用。下面小编通过本文给大家介绍vue将单页面改造成多页面应用的方法 ,感兴趣的朋友一起看看吧
    2018-11-11
  • 基于vue的短信验证码倒计时demo

    基于vue的短信验证码倒计时demo

    这篇文章主要介绍了基于vue的短信验证码倒计时demo,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • vuex实现数据持久化的两种方案

    vuex实现数据持久化的两种方案

    这两天在做vue项目存储个人信息的时候,遇到了页面刷新后个人信息数据丢失的问题,在查阅资料后,我得出两种解决数据丢失,使用数据持久化的方法,感兴趣的小伙伴跟着小编一起来看看吧
    2023-08-08
  • 浅析前端路由简介以及vue-router实现原理

    浅析前端路由简介以及vue-router实现原理

    路由就是用来跟后端服务器进行交互的一种方式,通过不同的路径,来请求不同的资源,请求不同的页面是路由的其中一种功能。这篇文章主要介绍了前端路由简介以及vue-router实现原理,需要的朋友可以参考下
    2018-06-06
  • Vue组件传值过程接收不成功的问题及解决

    Vue组件传值过程接收不成功的问题及解决

    这篇文章主要介绍了Vue组件传值过程接收不成功的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06

最新评论