部署项目报错

vue2项目部署后 Error: Cannot find module '@/views/*** '

1.起因

登录页、首页等静态页面可以正常进入,后端访问也正常,可以获取到验证码。

但是登录之后会发现首页空白或者进入不到首页

F12查看有报错信息:Error: Cannot find module '@/views/xxx'

2. 问题造成

简单来说就是webpack版本造成的问题

webpack4 不支持变量方式的动态 import ,新版本的使用 require() 来解决此问题。

查看webpack版本

npm info webpack

3. 解决

找到 src/permission.js文件 loadView方法(是用来加载动态页面的)

javascript 复制代码
export const loadView = (view) => {
  if (process.env.NODE_ENV === 'development') {
    return (resolve) => require([`@/views/${view}`], resolve);
  } else {
    // 使用 import 实现生产环境的路由懒加载
    // return () => import(`@/views/${view}`)
    return (resolve) => require([`@/views/${view}`], resolve);
  }
};

检查动态加载路由是否用

return () => import(`@/views/${view}`)

改成

return (resolve) => require([`@/views/${view}`], resolve)

重新部署即可解决

相关推荐
香香爱编程3 分钟前
Electron里的electron-window-state 使用
前端·javascript·vue.js·vscode·electron·前端框架
牧野星辰24 分钟前
eslint你不懂的都在这里,不信你进来看嘛~
前端·eslint
FogLetter24 分钟前
设计模式奇幻漂流:从单例孤岛到工厂流水线
前端·设计模式
ohyeah24 分钟前
深入理解 JavaScript 数组:从创建到遍历的完整指南
前端·javascript
逛逛GitHub26 分钟前
GitHub 开源 AI 好玩神器,自动记录你的一天。
前端·github
hollyhuang1 小时前
正则校验:校验只能输入数字且首位不能是0
前端
一室易安1 小时前
模仿elementUI 中Carousel 走马灯卡片模式 type=“card“ 的自定义轮播组件 图片之间有宽度
前端·javascript·elementui
脸大是真的好~1 小时前
黑马JAVAWeb -Vue工程化 - Element Plus- 表格-分页条-中文语言包-对话框-Form表单
前端·javascript·vue.js
一个小潘桃鸭1 小时前
记录:echarts tooltip内容过多时,会导致部分内容遮挡
前端
小满zs1 小时前
Next.js第四章(路由导航)
前端