部署项目报错

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)

重新部署即可解决

相关推荐
在无清风1 小时前
Java实现Redis
前端·windows·bootstrap
_一条咸鱼_2 小时前
Vue 配置模块深度剖析(十一)
前端·javascript·面试
yechaoa3 小时前
Widget开发实践指南
android·前端
前端切图仔0014 小时前
WebSocket 技术详解
前端·网络·websocket·网络协议
JarvanMo4 小时前
关于Flutter架构的小小探讨
前端·flutter
前端开发张小七4 小时前
每日一练:4.有效的括号
前端·python
顾林海5 小时前
Flutter 图标和按钮组件
android·开发语言·前端·flutter·面试
雯0609~5 小时前
js:循环查询数组对象中的某一项的值是否为空
开发语言·前端·javascript
bingbingyihao5 小时前
个人博客系统
前端·javascript·vue.js
尘寰ya5 小时前
前端面试-HTML5与CSS3
前端·面试·css3·html5