总体思路是路由映射
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
}
import Layout from '@/layout';
export const componentMap = {
'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),
}