使用import方法,可以在首页加载出页面,但是在跳转的时候提示无法找到自定义的module模块,在 router/index.js方法中可以正常加载自定义的页面,但是动态路由显示not find module @views/....
在vue-admin中的modules/permission.js脚本中使用require的方法代替import动态加载
export function filterAsyncRoutes(routes, roles) {
const res = []
routes.forEach(route => {
const tmp = { ...route }
//判断是否有相应的权限
if (hasPermission(roles, tmp)) {
//获取该路由对应的组件
let component = tmp.component;
//
//判断是否是根组件
if(route.component){
//判断是否有根组件
if(component === 'Layout'){
tmp.component = Layout;
}else{
//获取对应的具体的组件信息
console.log(component)
//使用require的方法代替import导入的方法
tmp.component = (resolve) => require([`@/views${component}`],resolve)
// tmp.component = () => import([`@/views${component}`])
}
}
//判断是否有子菜单
if (tmp.children) {
tmp.children = filterAsyncRoutes(tmp.children, roles)
}
res.push(tmp)
}
})
return res
}
这使用这个方法的时候又提示MarkdownEditor模块错误,不知道是拉代码还是什么原因,重新复制一份MarkdownEditor到components下面,重新
npm config set registry http://registry.npm.taobao.org
npm install
npm run dev
后正常跳转页面显示