使用vue打包时vendor文件过大或者是app.js文件很大的问题


Posted in Javascript onJune 29, 2018

第一次使用vue2.0开发,之前都是用的angular1.x。在使用vue-cli脚手架打包后(UI用的Element-ui),发现vendor文件很大,将近1M左右。。后来翻阅资料才明白,原来webpack把所有的库都打包到了一起,导致文件很大。

我的解决办法:

  1、把不常改变的库放到index.html中,通过cdn引入,比如下面这样:

使用vue打包时vendor文件过大或者是app.js文件很大的问题

然后找到build/webpack.base.conf.js文件,在 module.exports = { } 中添加以下代码

externals: {
  'vue': 'Vue',
  'vue-router': 'VueRouter',
  'element-ui': 'ELEMENT',
 },

这样webpack就不会把vue.js, vue-router, element-ui库打包了。声明一下,我把main.js中对element的引入删掉了,不然我发现打包后的app.css还是会把element的css打包进去,删掉后就没了。

然后你打包就会发现vendor文件小了很多~

如果你还不满足,请接着往下看·····

2、vue路由的懒加载(具体作用,官网查看哦,这里就不多介绍了)。

刚开始我们使用路由可能是下面这样(router.js),这样一开始进入页面就会把所有的路由资源都加载,如果项目大,加载的内容就会很多,等待的时间页就会越长,导致给用户的不好的体验效果。

使用vue打包时vendor文件过大或者是app.js文件很大的问题

为了把路由分模块,然后每次进入一个新页面才加载该页面所需要的资源(也就是异步加载路由),我们可以像下面这样使用(router.js):

使用vue打包时vendor文件过大或者是app.js文件很大的问题

然后你打包就会发现,多了很多1.xxxxx.js;2.xxxxx.js等等,而vendor.xxx.js没了,剩下app.js 和manifest.js,而且app.js还很小,我这里是100k多一点。

使用vue打包时vendor文件过大或者是app.js文件很大的问题

这里我没有生成map文件,这样打包速度快一些,整个项目文件也小很多(map文件一般都很大);

取消生成map文件,找到config/index.js ,修改下面箭头指向为false,就行了。

使用vue打包时vendor文件过大或者是app.js文件很大的问题

刚开始使用,一路磕磕碰碰在所难免,也借鉴了很多前辈们的经验,所以在这里记录一下,希望能帮到更多的人。

总结

以上所述是小编给大家介绍的使用vue打包时vendor文件过大或者是app.js文件很大的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript自动给文本url地址增加链接的方法分享
Jan 20 Javascript
七个不允许错过的jQuery小技巧
Dec 21 Javascript
RequireJS使用注意细节
May 15 Javascript
javascript中数组和字符串的方法对比
Jul 20 Javascript
AngularJS的ng-click传参的方法
Jun 19 Javascript
Vue.js划分组件的方法
Oct 29 Javascript
AngularJs ng-change事件/指令的用法小结
Nov 01 Javascript
Bootstrap 树控件使用经验分享(图文解说)
Nov 06 Javascript
vue按需加载组件webpack require.ensure的方法
Dec 13 Javascript
vue+swiper实现侧滑菜单效果
Dec 28 Javascript
微信小程序实现点击空白隐藏的方法示例
Aug 13 Javascript
原生js+canvas实现贪吃蛇效果
Aug 02 Javascript
vue项目打包后打开页面空白解决办法
Jun 29 #Javascript
详解Vue webapp项目通过HBulider打包原生APP
Jun 29 #Javascript
Vue下路由History模式打包后页面空白的解决方法
Jun 29 #Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
Jun 29 #Javascript
JavaScript实现仿Clock ISO时钟
Jun 29 #Javascript
vue ssr 指南详读
Jun 29 #Javascript
jQuery实现获取动态添加的标签对象示例
Jun 28 #jQuery
You might like
德生PL660的电路分析和打磨
2021/03/02 无线电
解析php file_exists无效的解决办法
2013/06/26 PHP
PHP面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
PHP中使用json数据格式定义字面量对象的方法
2014/08/20 PHP
Zend Framework教程之Application用法实例详解
2016/03/14 PHP
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
Document 对象的常用方法
2009/07/31 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
微信小程序 用户数据解密详细介绍
2017/01/09 Javascript
Javascript实现信息滚动效果
2017/05/18 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
ligerUI的ligerDialog关闭刷新的方法
2019/09/27 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
Python数据拟合与广义线性回归算法学习
2017/12/22 Python
关于django 1.10 CSRF验证失败的解决方法
2019/08/31 Python
python  logging日志打印过程解析
2019/10/22 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
CSS3实现DIV圆角效果完整代码
2012/10/10 HTML / CSS
英超联赛的首选足球:Mitre足球
2019/05/06 全球购物
工厂实习感言
2014/01/14 职场文书
基层干部十八大感言
2014/01/19 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
网络编辑求职信
2014/04/30 职场文书
元旦联欢会策划方案
2014/06/11 职场文书
年度考核表个人总结
2015/03/06 职场文书