使用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 相关文章推荐
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
Nov 14 Javascript
Javascript Memoizer浅析
Oct 16 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
Oct 17 Javascript
node.js读取文件到字符串的方法
Jun 29 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
Jun 12 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
Apr 13 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
Jan 12 Javascript
JavaScript判断日期时间差的实例代码
Mar 01 Javascript
微信小程序使用npm支持踩坑
Nov 07 Javascript
Vue实现滑动拼图验证码功能
Sep 15 Javascript
vue实现输入一位数字转汉字功能
Dec 13 Javascript
Vue路由切换页面不更新问题解决方案
Jul 10 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
在PHP中利用XML技术构造远程服务(下)
2006/10/09 PHP
基于pear auth实现登录验证
2010/02/26 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
给大家分享几个常用的PHP函数
2017/01/15 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
CI框架网页缓存简单用法分析
2018/12/26 PHP
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
js实现瀑布流的一种简单方法实例分享
2013/11/04 Javascript
js变量提升深入理解
2016/09/16 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
2017/05/11 Javascript
jQury Ajax使用Token验证身份实例代码
2017/09/22 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
JavaScript门道之标准库
2018/05/26 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
[04:41]2014DOTA2国际邀请赛 Liquid顺利突围晋级正赛
2014/07/09 DOTA
跟老齐学Python之变量和参数
2014/10/10 Python
剖析Python的Tornado框架中session支持的实现代码
2015/08/21 Python
Python实现堆排序的方法详解
2016/05/03 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
2019/04/26 Python
djano一对一、多对多、分页实例代码
2019/08/16 Python
CSS3制作日历实现代码
2012/01/21 HTML / CSS
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
英国高街品牌:Miss Selfridge(塞尔弗里奇小姐)
2016/09/21 全球购物
new修饰符是起什么作用
2015/06/28 面试题
电子商务专业推荐信范文
2013/12/02 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
关键在于落实心得体会
2014/09/03 职场文书
优秀教师个人材料
2014/12/15 职场文书
办公室文员岗位职责
2015/02/04 职场文书
2015教师个人年度工作总结
2015/10/23 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
Mysql binlog日志文件过大的解决
2021/10/05 MySQL