背景
有一个迭代了快2年多的vue单页管理系统,基于vue-cli2创建,采用vue2+vue-router+vuex+element-ui1。
因为一些历史以及迭代多次的原因,现在项目内有接近200的页面以及200+的组件,打包后的js因为未做懒加载的缘故,整个app.js 2.7mb, vendor.js 2.1mb
遇到的问题
因为管理系统是企业内部使用,用户量不是很大,对首屏加载需求不高,估加载速度不是很介意。
现在问题是因为企业一些电脑性能不高,导致使用系统时候会感觉浏览器变慢(甲方是这么表达的)
猜想的原因以及设想的解决方案
我理解是不是因为js巨大导致浏览器性能问题(因为我开发机是mac,直接运行的时候加载的开发版本是为压缩版本,未压缩的app.js有40多mb,不过我电脑开发倒是没啥卡顿之类的感觉,因为这个有40多mb,特别大,所以我很怀疑是不是js过大,造成浏览器解析渲染变慢),现打算由单页应用改造为多入口应用,因为系统可以大致上划分为四五个的大模块
不清楚的点
- 首先我想知道js巨大会不会导致性能不高的电脑的浏览器运行变慢,还是说卡顿变慢是代码优化的问题,例如内存泄露之类的(是不是需要直接使用客户的浏览器进行性能分析找原因)
- 如果改造成多页面应用之后会不会减轻浏览器负担(懒加载,或者路由异步加载我知道,不过1是因为甲方暂时没有首屏加载的需求,2是我觉得异步加载应该不会减轻浏览器负担吧,因为用户如果进入的页面多了,还是会加载很多js文件,最终跟单页应该区别不大吧,还是说我理解有误)
希望有相关经验的大佬指点一下
组件有没有开启路由懒加载功能呢 类似下面这样
可以降低js主文件的大小