记一次vue-webpack项目优化实践详解


Posted in Javascript onFebruary 17, 2019

项目现状

项目是一个数据监测平台,引入了ehcart和three.js 负责项目的数据可视化;打包后,体积高达2.1M,这个体积相比于我的项目规模来说就显得稍有笨重了

使用webpack-bundle-analyzer分析了一下各个文件所占用的比例:

记一次vue-webpack项目优化实践详解

整个项目文件分布大体清晰了,现在开始优化走起!

优化思路

根据 wba的显示,第三方插件是大部头,包括three.js echart组件elementUI组件
three.js优化空间不大,主要关注另外两个上面。

echarts

根据我的项目需求,echart主要用到的是linechart,其他图表不需要。而在开发过程中,我把整个echart都引用进来,其实是很没有必要的。

ehcart整体引用方式

import echarts from ("echarts")
vue.prototype.$echarts = echarts

更改为:

import echarts from "echarts/lib/echarts.js"

import "echarts/lib/chart/line"
import 'echarts/lib/component/tooltip'
import 'echarts/lib/component/title'
import 'echarts/lib/component/legend'
import 'echarts/lib/component/legendScroll'
import "echarts/lib/component/dataZoom"

Vue.prototype.$echarts = echarts

记一次vue-webpack项目优化实践详解

记一次vue-webpack项目优化实践详解

elementUI

同理echart,elementUI同样按需求导入,替换之前的整体引入。
elementUI按需引入需要安装 babel-plugin-component包,在babelrc文件中进行如下修改:

"plugins": [
    ...
    ["component",
    {
     "libraryName": "element-ui",
     "styleLibraryName": "theme-chalk"
    }]
   ]

优化后:

记一次vue-webpack项目优化实践详解

经过对第三方插件的优化,打包后的文件缩小了近30%。

记一次vue-webpack项目优化实践详解

目前为止,项目打包后的大部头就是three.js,这个目前的优化空间较小。
而对echart改造给打包体积上带来的收益还是很明显的。

后记

这次的优化比较简单,主要是通过对自己项目的优化,熟悉webpack-bundle-analyzer的操作和使用这个插件的来优化webpack打包文件的方法和思路;算是简单的练手记录一下吧。当然,从整体优化的大维度上来说优化的点还有很多,这个文章继续更新下去。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
清空上传控件input file的值
Jul 03 Javascript
JavaScript 判断日期格式是否正确的实现代码
Jul 04 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
Dec 15 Javascript
jQuery中bind()方法用法实例
Jan 19 Javascript
js实现n秒倒计时后才可以点击的效果
Dec 20 Javascript
基于javascript实现listbox左右移动
Jan 29 Javascript
模拟javascript中的sort排序(简单实例)
Aug 17 Javascript
详解vue-cli之webpack3构建全面提速优化
Dec 25 Javascript
详解VSCode配置启动Vue项目
May 14 Javascript
解决layui调用自定义方法提示未定义的问题
Sep 14 Javascript
基于js实现数组相邻元素上移下移
May 19 Javascript
微信小程序自定义扫码功能界面的实现代码
Jul 02 Javascript
Vuepress 搭建带评论功能的静态博客的实现
Feb 17 #Javascript
详解javascript replace高级用法
Feb 17 #Javascript
Nuxt.js 数据双向绑定的实现
Feb 17 #Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
Feb 17 #Javascript
JavaScript遍历DOM元素的常见方式示例
Feb 16 #Javascript
原生JS实现逼真的图片3D旋转效果详解
Feb 16 #Javascript
JS实现简单的抽奖转盘效果示例
Feb 16 #Javascript
You might like
php学习 函数 课件
2008/06/15 PHP
php 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
2018/07/30 PHP
JavaScript 动态改变图片大小
2009/06/11 Javascript
js 鼠标拖动对象 可让任何div实现拖动效果
2009/11/09 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
获取阴历(农历)和当前日期的js代码
2016/02/15 Javascript
浅析JavaScript中浏览器的兼容问题
2016/04/19 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
浅谈Angular路由复用策略
2017/10/04 Javascript
JS实现自定义弹窗功能
2018/08/08 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
layui点击按钮页面会自动刷新的解决方案
2019/10/25 Javascript
python将字符串转换成数组的方法
2015/04/29 Python
简单的Python调度器Schedule详解
2019/08/30 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
python多线程并发及测试框架案例
2019/10/15 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
2014年五四青年节活动策划书
2014/04/22 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
2014年计生工作总结
2014/11/21 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
法院答辩状格式
2015/05/22 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
导游词之天津古文化街
2019/11/09 职场文书
Python中np.random.randint()参数详解及用法实例
2022/09/23 Python