使用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 判断指定字符串是否为有效数字
May 11 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
Aug 05 Javascript
jquery选择器之属性过滤选择器详解
Jan 27 Javascript
一段非常简单的js判断浏览器的内核
Aug 17 Javascript
JavaScript中消除闭包的一般方法介绍
Mar 16 Javascript
JS获取url参数、主域名的方法实例分析
Aug 03 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
Nov 09 Javascript
学习vue.js表单控件绑定操作
Dec 05 Javascript
Bootstrap输入框组件简单实现代码
Mar 06 Javascript
通过cordova将vue项目打包为webapp的方法
Feb 02 Javascript
Vue项目实现简单的权限控制管理功能
Jul 17 Javascript
详解ES6数组方法find()、findIndex()的总结
May 12 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
在线增减.htpasswd内的用户
2006/10/09 PHP
PHP动态规划解决0-1背包问题实例分析
2015/03/23 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
PHP抽象类基本用法示例
2018/12/28 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
HTML Color Picker(js拾色器效果)
2013/08/27 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
2014/08/12 Javascript
Javascript 绘制 sin 曲线过程附图
2014/08/21 Javascript
基于jQuery实现的图片切换焦点图整理
2014/12/07 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
2016/06/02 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
2017/08/30 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
2018/12/20 Javascript
详解如何使用webpack打包多页jquery项目
2019/02/01 jQuery
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
Vue.js路由实现选项卡简单实例
2019/07/24 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
2019/09/29 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
2019/11/26 Javascript
[01:13]2014DOTA2西雅图邀请赛 舌尖上的TI4
2014/07/08 DOTA
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
对python当中不在本路径的py文件的引用详解
2018/12/15 Python
Pytorch 使用 nii数据做输入数据的操作
2020/05/26 Python
Python爬虫之Spider类用法简单介绍
2020/08/04 Python
售后服务科岗位职责范文
2013/11/13 职场文书
消防标语大全
2014/06/07 职场文书
2014领导干部四风问题查摆思想汇报
2014/09/13 职场文书
病人家属写给医院的感谢信
2015/01/23 职场文书
生活小常识广播稿
2015/08/19 职场文书
MySQL单表千万级数据处理的思路分享
2021/06/05 MySQL
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL