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

 更新时间:2019年02月17日 17:32:30   作者:蔺相如如  
这篇文章主要介绍了记一次vue-webpack项目优化实践,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

项目现状

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

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

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

优化思路

根据 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

elementUI

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

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

优化后:

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

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

后记

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

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

相关文章

  • Vue微信项目按需授权登录策略实践思路详解

    Vue微信项目按需授权登录策略实践思路详解

    这篇文章主要介绍了Vue微信项目按需授权登录策略实践思路详解,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-05-05
  • vue实现主题切换的多种思路分享

    vue实现主题切换的多种思路分享

    最近一段时间,一直在做主题方面的工作。我们的主题,并不是简单切换一下颜色,或者排版变化这些,而是变化比较大的主题。比如说:主题1和主题2看起来完全不一样,功能甚至都不一样。这样,通过切换css就无法做到了,因此我思考良久,使用了如下2种方法
    2021-06-06
  • 深入理解Vue 单向数据流的原理

    深入理解Vue 单向数据流的原理

    这篇文章主要介绍了深入理解Vue 单向数据流的原理,详细的介绍了Vue 单向数据流的原理和使用,具有一定的参考价值,有兴趣的可以了解一下
    2017-11-11
  • Vue使用lodop实现打印小结

    Vue使用lodop实现打印小结

    这篇文章主要介绍了Vue使用lodop打印小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • vue-meta实现router动态设置meta标签的方法

    vue-meta实现router动态设置meta标签的方法

    这篇文章主要介绍了vue-meta实现router动态设置meta标签,实现思路非常简单内容包括mata标签的特点和mata标签共有两个属性,分别是http-equiv属性和name属性,本文通过实例代码给大家详细讲解需要的朋友可以参考下
    2022-11-11
  • vue组件之间的数据传递方法详解

    vue组件之间的数据传递方法详解

    这篇文章主要介绍了vue组件之间的数据传递方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • vue+ElementUi+iframe实现轮播不同的网站

    vue+ElementUi+iframe实现轮播不同的网站

    需要实现一个轮播图,轮播内容是不同的网站,并实现鼠标滑动时停止轮播,当鼠标10秒内不动时继续轮播,所以本文给大家介绍了用vue+ElementUi+iframe实现轮播不同的网站,需要的朋友可以参考下
    2024-02-02
  • vite+vue3代码风格校验及格式化方式

    vite+vue3代码风格校验及格式化方式

    这篇文章主要介绍了vite+vue3代码风格校验及格式化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue2使用wangeditor实现手写输入功能

    vue2使用wangeditor实现手写输入功能

    这篇文章主要为大家详细介绍了vue2如何使用wangeditor实现手写输入功能,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解下
    2023-12-12
  • Nuxt的路由动画效果案例

    Nuxt的路由动画效果案例

    这篇文章主要介绍了Nuxt的路由动画效果案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11

最新评论