vue3 引入 router 模块

目录

准备

main.js  添加内容

新建 src/views目录  里面放置  vue页面

src/router  目录结构创建

index.js 

defaultIndex.js 

其它 相关连接


准备

添加依赖包

yarn add vue-router@next vuex@next

此时 vue-router  和  vuex 都已经添加

main.js  添加内容

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'

const app = createApp(App)
app.use(router);
app.use(ElementPlus);
app.mount('#app')

新建 src/views目录  里面放置  vue页面

src/views/

        Home/index.vue

        Login/

                login.vue

                register.vue

        menu/

                menu1.vue

                menu2.vue

                menu3.vue

页面内容 随便 先添加一些

<template>

  <div>

    this is XXX page

  </div>

</template>

<script setup >

</script>

<style ></style>

src/router  目录结构创建

src/router

        index.js

        defaultIndex.js

index.js 

import { createRouter, createWebHashHistory } from 'vue-router';

import defaultIndex from '@/router/defaultIndex';

export const router = createRouter({

  history: createWebHashHistory(),

  routes: defaultIndex,

});


 

// 导出路由

export default router;

defaultIndex.js 

export default [

  {

    path: "/",

    redirect: "/home",

    component: () => import(/* webpackChunkName: "login" */ '@/layout'),

    children: [

      {

        path: '/home',

        name: 'home',

        component: () => import('@/views/Home/index.vue'),

        meta: {

          role: 'common',

          title: 'home'

        }

      },

      // articles route

      {

        path: '/menu1',

        name: 'menu1',

        component: () => import('@/views/menu/menu1.vue'),

        meta: {

          role: 'common',

          title: 'menu1'

        }

      },

      {

        path: '/menu2',

        name: 'menu2',

        component: () => import('@/views/menu/menu2.vue'),

        meta: {

          role: 'common',

          title: 'menu2'

        }

      },

      {

        path: '/menu3',

        name: 'menu3',

        component: () => import('@/views/menu/menu3.vue'),

        meta: {

          role: 'common',

          title: 'menu3'

        }

      },

     

    ],

  },

  {

    path: '/login',

    name: 'login',

    component: () => import('@/views/login/login.vue'),

    meta: {

      role: 'common',

      title: 'login'

    }

  },

  {

    path: '/register',

    name: 'register',

    component: () => import('@/views/login/register.vue'),

    meta: {

      role: 'common',

      title: 'register'

    }

  },

]

 此时路由就已经写好了见下一章 

其它 相关连接

Layout 布局 菜单路由跳转:vue3 layout 布局 设置_xhc6666的博客-CSDN博客

进阶版: 路由守卫,拦截器:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿online

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值