使用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 相关文章推荐
iframe中子父类窗口调用JS的方法及注意事项
Aug 25 Javascript
基于JavaScript实现动态添加删除表格的行
Feb 01 Javascript
网页中JS函数自动执行常用三种方法
Mar 30 Javascript
自制微信公众号一键排版工具
Sep 22 Javascript
Angular在一个页面中使用两个ng-app的方法
Feb 20 Javascript
JavaScript中清空数组的三种方式
Mar 22 Javascript
Vue中自定义全局组件的实现方法
Dec 08 Javascript
让你5分钟掌握9个JavaScript小技巧
Jun 09 Javascript
微信小程序wx.request拦截器使用详解
Jul 09 Javascript
jquery制作的移动端购物车效果完整示例
Feb 24 jQuery
vue实现户籍管理系统
May 29 Javascript
javascript实现倒计时提示框
Mar 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
关于在php.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
destoon官方标签大全
2014/06/20 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
thinkphp文件引用与分支结构用法实例
2014/11/26 PHP
PHP获取不了React Native Fecth参数的解决办法
2016/08/26 PHP
PHP基于SMTP协议实现邮件发送实例代码
2017/04/27 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
javascript 动态加载 css 方法总结
2009/07/11 Javascript
js null undefined 空区别说明
2010/06/13 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
用innerhtml提高页面打开速度的方法
2013/08/02 Javascript
AngularJS初始化静态模板详解
2016/01/14 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
深入理解Vue2.x的虚拟DOM diff原理
2017/09/27 Javascript
使用 vue-i18n 切换中英文效果
2018/05/23 Javascript
layer弹出层 iframe层去掉滚动条的实例代码
2018/08/17 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
python pandas 对时间序列文件处理的实例
2018/06/22 Python
对python实现合并两个排序链表的方法详解
2019/01/23 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
Python接口测试get请求过程详解
2020/02/28 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
如何用canvas实现在线签名的示例代码
2018/07/10 HTML / CSS
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
.NET面试10题
2014/02/24 面试题
工程概预算专业毕业生求职信
2013/10/04 职场文书
公司综合部的成员自我评价分享
2013/11/05 职场文书
教师的实习自我鉴定
2013/12/17 职场文书
修理厂厂长岗位职责
2014/01/30 职场文书
旷课检讨书500字
2014/10/14 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
JavaScript实现优先级队列
2021/12/06 Javascript