动态路径不能使用,此路径不通!
错误方式一:
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/
本文详细讲解了动态路由在前端应用中的正确配置方式,重点在于区分固定路径和动态路径,并提供了使用resolve的示例。错误的import和require语法被修正,强调了路径前缀的必要性和两种不同情况下的组件导入策略。
1804

被折叠的 条评论
为什么被折叠?



