美文网首页
VUE去中心化的路由实现

VUE去中心化的路由实现

作者: 爱余星痕 | 来源:发表于2019-12-18 12:14 被阅读0次

在做VUE时,很多时候把路由写在同一个路由文件里,这样在项目越来越大时,该文件需要多次修改,这样很不方便。
现在需要把各个路由分配至各个模块中,然后进行汇总
1.编写各个模块的路由

 export default [


    {
        path: '/sys/auth/menu',
        component: resolve => require(['./sys_menu.vue'], resolve),
        meta: {title: '菜单管理'}
    },
    {
        path: '/sys/auth/resource',
        component: resolve => require(['./sys_auth_resource.vue'], resolve),
        meta: {title: '资源管理'}
    },
    {
        path: '/sys/auth/role',
        component: resolve => require(['./sys_auth_role.vue'], resolve),
        meta: {title: '角色管理'}
    },

]

2.遍历各个路由,汇总路由

 import Vue from 'vue';
import Router from 'vue-router';

Vue.use(Router);
let routers = []
const routerContext = require.context('./views', true, /router\.js/)
routerContext.keys().forEach(route => {
    // 如果是根目录的 index.js、 不做任何处理
    if (route.startsWith('./index')) {
        return
    }
    const routerModule = routerContext(route)
    // 兼容 import export 和 require module.export 两种规范 Es modules commonjs
    routers = [...routers, ...(routerModule.default || routerModule)]
})
export default new Router({
    routes: [
        {
            path: '/',
            redirect: '/dashboard'
        },
        {
            path: '/',
            component: resolve => require(['./components/common/Home.vue'], resolve),
            meta: {title: '主页'},
            children: routers
        },
        {
            path: '/login',
            component: resolve => require(['./views/Login.vue'], resolve)
        },
        {
            path: '/oauth/:source',
            component: resolve => require(['./views/oauth/oauth.vue'], resolve)
        },
        {
            path: '*',
            redirect: '/404'
        },

    ]
})

至此,VUE去中心化路由功能已完成!

相关文章

  • VUE去中心化的路由实现

    在做VUE时,很多时候把路由写在同一个路由文件里,这样在项目越来越大时,该文件需要多次修改,这样很不方便。现在需要...

  • 2020-06-03面试--vue基础篇

    ####1,vue的路由实现原理有哪几种 答案:Vue的路由实现:hash模式 和 history模式 hash模...

  • 手写 Vue Router、手写响应式实现、虚拟 DOM 和 D

    Vue-Router 原理实现 一、Vue-Router 动态路由 二、Vue-Router 嵌套路由 三、Vue...

  • 项目踩坑系列(一)——vue-cli

    文章内容大概包括: 选脚手架——vue-cli + 多页面配置 路由去中心化管理 动态标题 打包遇到的问题 一些比...

  • SpringBoot + Ant Design Pro Vue实

      Ant Design Pro Vue默认路由和菜单配置是采用中心化的方式,在 router.config.js...

  • 路由

    路由map 路由视图 路由导航 实现简单路由 import VueRouter from 'vue-router'...

  • 2020-06-03面试--vue基础篇

    1,vue的路由实现原理有哪几种 答案:Vue的路由实现:hash模式 和 history模式 hash模式:在浏...

  • Vue 基础 - 前端路由

    使用vue-router实现前端路由 安装vue-router: 配置路由文件,并在vue实例中导入: 设置视图(...

  • react实现路由守卫

    与vue不同,vue直接使用beforeEach即可实现全局路由守卫等功能。react要实现路由守卫得自己配置。实...

  • vue总结

    vue路由守卫 vue实现双向绑定原理 Vue生命周期: vue跨域方式 vue-router实现原理 vue-r...

网友评论

      本文标题:VUE去中心化的路由实现

      本文链接:https://www.haomeiwen.com/subject/tnaynctx.html