总体思路是路由映射

/**
 * 替换route中component
 * 需要遍历路由表 将后端返回的component替换为本地的路由表
 * componentMap ==== 本地路由映射表
 */
function replaceComponent(comp) {
  if(comp.component && typeof(comp.component) == 'string') {
    comp.component = componentMap[comp.component]
  }
  if(comp.children && comp.children.length > 0) {
    for(let i=0;i<comp.children.length;i++) {
      comp.children[i] = replaceComponent(comp.children[i])
    }
  }
  return comp
}
/**
 * componentMap ==== 本地路由映射表
 */

import Layout from '@/layout'; // 引入layout

export const componentMap = {
	// 两种引入方式 一级路由layout 二级取自定义名称(映射使用)
    // layout ====> Layout || require('@/layout').default,
    // normal_page ====> resolve => require(['path'], resolve) || ()=>import('path').then(m=>m.default),
    'layout': require('@/layout').default,
    'login_index': ()=>import('@/views/login/index').then(m=>m.default),
    'icon_index': ()=>import('@/views/icons/index').then(m=>m.default),
    'permission_page': resolve => require(['@/views/permission/page'], resolve),
    'permission_directive': ()=>import('@/views/permission/directive').then(m=>m.default),
    'permission_role': ()=>import('@/views/permission/role').then(m=>m.default),
}
GitHub 加速计划 / vu / vue-element-admin
87.26 K
30.42 K
下载
PanJiaChen/vue-element-admin: 是一个基于 Vue.js 和 Element UI 的后台管理系统模板,支持多种数据源和插件扩展。该项目提供了一个完整的后台管理系统模板,可以方便地实现后台管理系统的快速搭建和定制,同时支持多种数据源和插件扩展。
最近提交(Master分支:2 个月前 )
0caa975e - 2 年前
cd3f7267 - 2 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐