webpack4 打包vue2项目特别慢----优化之路 (记录贴)

最近公司项目打包特别 慢,决定优化一下,记录帖,前端小白,边学习边摸索,未优化成功,欢迎各位大佬提出优化建议,小女子跪谢~

切项目到较小体量时的代码,npm run build 打包324480ms

1、修改配置如下:

minimizer: [
    new UglifyJsPlugin({
    uglifyOptions: {
        mangle: {
            safari10: true
        },
        compress:{
            unused: false//删除未引用的函数和变量,禁用
        },
    },
        
    sourceMap: config.build.productionSourceMap,
    cache: true,
    parallel: true
   })
]

打包:142271ms 速度提升55%

注:UglifyJsPlugin 在处理已经压缩过的文件时,在去除 unused variables 的环节性能会很差,处理时间是正常情况下的几十倍。

疑问:设置了 unused: false, 那么webpack的treeshake是不是也没法达到最终效果了?


切到最新代码后使用上面配置,打包869156ms(第一次打包 没有缓存)14.4分钟

继续使用上面配置,打包792240ms(第二次打包 有缓存)13.2分钟

不使用上面配置,打包893565ms(第一次打包 没有缓存)14.8分钟

继续不使用上面配置,打包731260ms(第二次打包 有缓存)12.2分钟

几乎无区别,继续研究。。。。


修改配置如下:

{
        test: /\.js$/,
        loader: 'babel-loader?cacheDirectory',
        exclude: [
          resolve('node_modules')
        ]
}

继续打包825289ms(有缓存)

无变化。。。这。。。。怎么办???试试happypack???


3、修改配置如下:

const HappyPack = require('happypack')
const os = require('os')
const happyThreadPool = HappyPack.ThreadPool({size: os.cpus().length})

module: {
    rules: [
      {
        test: /\.js$/,
        // loader: 'babel-loader?cacheDirectory',
        exclude: [
          resolve('node_modules')
        ],
        use: [
          {
            loader: 'happypack/loader?id=happyBabel'
          }
        ]
      }
    ]
  },

plugins:[
    new HappyPack({
      id: 'happyBabel',
      loaders:['babel-loader?cacheDirectory'],
      threadPool: happyThreadPool,
      verbose: true
    })
]

打包,854518ms

相关推荐

  1. Webpack打包vue项目

    2024-03-25 14:44:03       37 阅读
  2. vue项目打包体积大优化-productionSourceMap设置

    2024-03-25 14:44:03       38 阅读
  3. vue 项目优化打包时间

    2024-03-25 14:44:03       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-25 14:44:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-25 14:44:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-25 14:44:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-25 14:44:03       20 阅读

热门阅读

  1. css使用伪类选择器来选择特定模式的元素

    2024-03-25 14:44:03       19 阅读
  2. RabbitAdmin及 RabbitMQ 事件处理

    2024-03-25 14:44:03       20 阅读
  3. Ubuntu Desktop Server - user 用户与 root 用户切换

    2024-03-25 14:44:03       19 阅读
  4. 探秘ChatGPT:打造出色学术论文

    2024-03-25 14:44:03       21 阅读
  5. 【Linux系统编程】缓冲区

    2024-03-25 14:44:03       19 阅读
  6. DPDK系列之四十二DPDK应用网络编程之TCP编程

    2024-03-25 14:44:03       22 阅读
  7. Ubuntu修改自启动软件或程序

    2024-03-25 14:44:03       23 阅读
  8. 02-Pandas的方法介绍

    2024-03-25 14:44:03       17 阅读
  9. 三色标记算法

    2024-03-25 14:44:03       23 阅读
  10. 求最大回文质数

    2024-03-25 14:44:03       19 阅读