vue-element-admin 动态路由 使用import报错
·
总体思路是路由映射
/**
* 替换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),
}
更多推荐
所有评论(0)