vue动态路由异步加载import组件,加载不到module的问题

4,883 阅读1分钟

之前的动态路由是可以的, 今天突然不行了,不知道为什么。在此简单记录下解决方法

// 遍历后台传来的路由字符串,转换为组件对象
function filterAsyncRouter(asyncRouterMap) {
  return asyncRouterMap.filter(route => {
    if (route.component) {
      // Layout组件特殊处理
      if (route.component === 'Layout') {
        route.component = Layout
      } else {
        route.component = loadView(route.component)
      }
    }
    if (route.children != null && route.children && route.children.length) {
      route.children = filterAsyncRouter(route.children)
    }
    return true
  })
}

export const loadView = (view) => { // 路由懒加载
  // return () => import(`@/views/${view}`)//不知道为什么不行
  return resolve => require([`@/views/${view}`], resolve)//可以解决
}