vue报Cannot find module XXXX 找不到某个页面文件

Cannot find module '@/views/login/index'
Failed to resolve async component default
vue-router.esm.js:1897 Error: Cannot find module '@/views/login/index'
at webpackEmptyContext (index.js:39)
at permission.js:90

错误原因是webpack修改打包逻辑,webpack4中动态import不支持变量方式
解决方法

进入router中的index.js

component: () => import('@/views/login/index'),

改为

component: (resolve) => require(["@/views/login/index"], resolve),

如果是动态路由则

export const loadView = (view) => {
    
     // 路由懒加载
  return () => import(`@/views/${
      
      view}`)
}

改为

export const loadView = (view) => {
    
     // 路由懒加载
  return (resolve) => require([`@/views/${
      
      view}`], resolve)
}

猜你喜欢

转载自blog.csdn.net/god_sword_/article/details/129290143