动态路径不能使用,此路径不通!
错误方式一:
component:() => import(`@${item.component}`)
错误方式二:
component:(resolve) => require([`@${item.component}`], resolve),
正确方式
export const getRouter = (access)=>{
let res = [];
forEach(access,item=>{
if (!item.meta || (item.meta && !item.meta.hideInMenu) && item.component) {
let obj = {
path: item.path,
icon: (item.meta && item.meta.icon) || '',
name: item.name,
meta: item.meta,
}
if(item.component.startsWith("/components")){
item.component = item.component.slice(12);
//动态路由路径
obj.component = resolve => require([`@/components/${item.component}`],resolve)
}else{
//动态路由路径
obj.component=(resolve) => require([`@/view/${item.component}`], resolve)
}
if ((hasChild(item) || (item.meta && item.meta.showAlways))) {
obj.children = getRouter(item.children)
}
if (item.meta && item.meta.href) obj.href = item.meta.href
res.push(obj)
}
})
return res
}
路径前部分必须有固定路径。 @/view/