webpack构建性能提升的一些常用措施

本文探讨了如何提升webpack构建性能,包括升级到webpack4以实现60%~98%的速度提升,解决CommonsChunkPlugin、extract-text-webpack-plugin等升级过程中遇到的问题,以及通过Tree-Shaking、webpack-parallel-uglify-plugin、DLLPlugin和DLLReferencePlugin、happyPack等技术进一步优化编译速度。
摘要由CSDN通过智能技术生成

前言

前端工程化已经在各个公司生根发芽,webpack作为前端工程化重要的构建工具,
它具备高效的打包速度, 完整的依赖分析,语义化分析,包结构分析等,在生产线发挥着不可替代的作用。
然而随着项目的越来越庞大, 第三方类库的引用, 很多业务逻辑的抽象, 都导致构建速度越来越慢。
甚至在一些构建复杂的流程中,时间消耗占比影响着快速迭代的效率,因此针对webpack的构建优化,
在任何公司、任何业务线都很有价值,本文对自己探索webpack的一些经验,做个总结,希望对你有所帮助。

核心优化

一、构建工具升级

webpack4已经趋于完善, 相对于webpack3, 构建速度有了质的飞跃。
webpack4 发布时,官方也曾表示,其编译速度提升了 60% ~ 98%。
内部的构建算法等都已经做了优化提升,具体可以自行查看webpack4的源码学习。
所以如果你的项目还是在使用webpack3果断升级吧~~~

二、升级常见包的更新

版本升级最大的一个问题是,就是一个关联包的兼容问题, 以下汇总了一些常见包升级遇到问题:

  • 1、更新webpack4的命令(4.x版本需要cli工具搭配):

      npm install --save-dev webpack@latest
      npm install --save-dev webpack-cli             
    
  • 2、CommonsChunkPlugin废弃

相关报错:

		webpack4 Error: webpack.optimize.CommonsChunkPlugin has been removed, 
		please use config.optimization.splitChunks instead

升级办法:

    module.exports = {
       plugins: [
   -     new webpack.optimize.CommonsChunkPlugin({
   -       name: 'common' // 指定公共 bundle 的名称。
   -     })
       ],
       
        变成:
        
   +   optimization: {
   +     splitChunks: {
   +       name: 'common'
   +     }
   +   },
  • 3、extract-webpack-plugin弃用

相关报错:

	Error: Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead

<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值