Vue的路由配置过程(Vue2和Vue3的路由配置)

 更新时间:2025年01月24日 10:12:43   作者:满脑子技术的前端工程师  
这篇文章回顾了Vue2和Vue3中路由的配置步骤,包括安装正确的路由版本、创建路由实例、配置routes以及在入口文件中注册路由,Vue2中使用Vue.use(VueRouter),而Vue3中使用createRouter和createWebHashHistory

Tips:使用Vue3开发项目已经有一段时间了,关于Vue2的路由是如何一步一步搭建的都快要忘记了,今天写着篇文章主要就是回顾一下,在Vue2和Vue3中我们是如何一步一步的配置路由的。

一、路由是什么?

Vue中的路由就是.SPA(single page application单页应用程序) 的路径管理器。

vue-router是Vue.js官方的路由插件,用于构建单页面应用。

vue的单页面应用是基于路由组件的,设定访问路径,并将路径和组件映射起来。

在vue-router单页面应用中,路径之间的切换,就是组件的切换。路由模块的本质就是建立起url和页面之间的映射关系。

二、Vue2中路由的创建步骤

安装正确的路由版本(这里我踩坑了)

1.首先安装vue-router的时候需要确定版本。 Vue2.0采用的 vue-router 版本为 @^3.5.1

npm i vue-router@^3.5.1 -s  // Vue2安装的方式

2.直接 npm i vue-router -s 这种方式安装会安装最新版本(适用于Vue3)

npm i vue-router -s  //Vue3安装的方式

vue2中配置路由的步骤

步骤如下:

  1. 安装 vue-router@3.5.1
  2. 创建 router文件夹 并创建 index.js
  3. 引入VueRouter 和 Vue
  4. Vue.use(VueRouter)
  5. 创建VueRouter实例: const router = new VueRouter({ routes})
  6. 配置routes (结构如下图所示)
  7. 导出router
  8. 在main.js中导入刚才的 router
  9. 注册router
  10. 创建 router-link 和 router-view

代码如下图所示:

  • 路由文件代码:
//1.导入VueRouter
import Vue from "vue";
import VueRouter from 'vue-router'
import HelloWord from "../components/HelloWorld.vue";
//2.使用路由
Vue.use(VueRouter);
//3.创建VueRouter的实例
const router = new VueRouter({
    //tips:不想要 #(锚点)就添加下面代码
     mode:'history', 
    //4.配置路由的path和组件
    routes :[
        {
          path: "/",
          name:'home',
          component: HelloWord,
        },
        {
          path: "/about",
          name:'anout',
          component: () => import("../components/About.vue"),
        },
      ]
})
//5.导入路由实例
export default router
  • 入口文件代码:
import Vue from 'vue'
import App from './App.vue'
//6.引入导出的路由
import router from './router/index'

Vue.config.productionTip = false

new Vue({
  //7.注册路由
  router,
  render: h => h(App),
}).$mount('#app')

如下图所示:

三、Vue3中路由的创建步骤

步骤如下:

  1. 创建对应的文件夹router 创建 index.js文件,
  2. 安装vue-router (vue3.0直接安装就行)
  3. 导入createRouter 和 createWebHashHistory
  4. 配置routes
  5. 使用createRouter注册routes和配置路由模式
  6. 导出路由
  7. 在main.js中 导入router ,并通过链式 .use(router) 注册

代码如下图所示:

  • 路由文件代码:
import { createRouter, createWebHashHistory } from "vue-router";

 import HelloWord from '../components/HelloWorld.vue'

const router = createRouter({
  history: createWebHashHistory(),
  routes: [
    {
      path: "/",
      component:HelloWord
    },
    {
        path:"/about",
        component:() => import("../components/About.vue")
    }
  ],
});

export default router
  • 入口文件代码:
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

createApp(App).use(router).mount('#app')

如下图所示:

总结

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

相关文章

  • Vue electron零基础使用教程

    Vue electron零基础使用教程

    Electron也可以快速地将你的网站打包成一个原生应用发布,下面这篇文章主要给大家介绍了关于Vue和React中快速使用Electron的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • Vue中的 mixins 和 provide/inject详解

    Vue中的 mixins 和 provide/inject详解

    这篇文章主要介绍了Vue中的 mixins 和 provide/inject详解,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • 使用@tap.stop阻止事件继续传播

    使用@tap.stop阻止事件继续传播

    这篇文章主要介绍了使用@tap.stop阻止事件继续传播,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Vue组件之间的通信你知道多少

    Vue组件之间的通信你知道多少

    这篇文章主要为大家详细介绍了Vue组件之间的通信,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • vue3中的伸缩菜单组件

    vue3中的伸缩菜单组件

    这篇文章主要介绍了vue3中的伸缩菜单组件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • 基于VUE选择上传图片并页面显示(图片可删除)

    基于VUE选择上传图片并页面显示(图片可删除)

    这篇文章主要为大家详细介绍了基于VUE选择上传图片并页面显示,图片可以删除的效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 浅析vue中常见循环遍历指令的使用 v-for

    浅析vue中常见循环遍历指令的使用 v-for

    这篇文章主要介绍了vue中常见循环遍历指令的使用 v-for,包括v-for遍历数组,v-for遍历json对象,本文给大家介绍的非常详细,需要的朋友可以参考下
    2018-04-04
  • vue3中如何实现定义全局变量

    vue3中如何实现定义全局变量

    这篇文章主要介绍了vue3中如何实现定义全局变量,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • vue中axios的二次封装实例讲解

    vue中axios的二次封装实例讲解

    在本篇文章里小编给大家整理了关于vue中axios的二次封装实例以及相关知识点总结,需要的朋友们可以学习下。
    2019-10-10
  • nuxt中刷新页面后防止store值丢失问题

    nuxt中刷新页面后防止store值丢失问题

    这篇文章主要介绍了nuxt中刷新页面后防止store值丢失问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10

最新评论