webpack打包vue项目性能优化

webpack打包vue项目性能优化

  1. 项目打包上线设置productionSourceMap为false减小.map文件所占dist文件的体积;在这里插入图片描述

  2. 开启gzip对dist文件进一步压缩(ps:需后端配合开启gzip方可使用);在这里插入图片描述在这里插入图片描述

  3. 使用cdn减小打包后vendor.js的体积,从而缩短首屏加载时间(ps:第3步如果注释掉出现错误可以不进行注释);在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  4. 按需引用组件(iview为例);在这里插入图片描述在这里插入图片描述

  5. webpack-parallel-uglify-plugin替换uglifyjs-webpack-plugin提升打包速度(ps:uglifyjs-webpack-plugin单进程,webpack-parallel-uglify-plugin多进程)

    // 引入 ParallelUglifyPlugin 插件
    const ParallelUglifyPlugin = require('webpack-parallel-uglify-plugin');
    
    // 使用 ParallelUglifyPlugin 并行压缩输出的 JS 代码
    new ParallelUglifyPlugin({
       // 传递给 UglifyJS 的参数
       uglifyJS: {
         output: {
           // 最紧凑的输出
           beautify: false,
           // 删除所有的注释
           comments: false,
         },
         compress: {
           // 在UglifyJs删除没有用到的代码时不输出警告
           warnings: false,
           // 删除所有的 `console` 语句,可以兼容ie浏览器
           drop_console: true,
           // 内嵌定义了但是只用到一次的变量
           collapse_vars: true,
           // 提取出出现多次但是没有定义成变量去引用的静态值
           reduce_vars: true,
         }
       },
       test: /.js$/g, //使用正则去匹配哪些文件需要被 ParallelUglifyPlugin 压缩,默认是 /.js$/g
       include: [], //使用正则去命中需要被 ParallelUglifyPlugin 压缩的文件,默认为 []
       exclude: [], //使用正则去命中不需要被 ParallelUglifyPlugin 压缩的文件,默认为 []
       cacheDir: '', //缓存压缩后的结果,默认不会缓存,想开启缓存请设置一个目录路径
       workerCount: '', //开启几个子进程去并发的执行压缩。默认是当前运行电脑的 CPU 核数减去1
       sourceMap: false //是否输出 Source Map,这会导致压缩过程变慢
     })
    
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值