WHAT - Webpack 详解系列(七)

本文详细介绍了 Webpack 的高级特性,包括 Tree-shaking 的原理和实现,如何在非生产模式下手动开启,以及 concatenateModules 和 Scope Hoisting 的优化作用。此外,文章探讨了 babel-loader 对 Tree-shaking 的影响,并指出最新版的 babel-loader 不会导致其失效。接着,文章介绍了 Code Splitting,包括多入口打包、动态导入和 CSS 代码分割,以及 splitChunks 配置的使用。最后,文章讲解了 sideEffects 特性,说明如何通过设置标识代码是否有副作用,以进一步优化打包结果。
摘要由CSDN通过智能技术生成

上一篇 我们非常详细介绍了 Webpack 的调试体验相关内容。

一、高级特性:tree shaking

介绍

Tree Shaking 翻译过来的意思就是“摇树”。

伴随着摇树的动作,树上的枯树枝和树叶就会掉落下来。通过 Tree-shaking “摇掉”的是代码中那些没有用到的部分,这部分没有用的代码更专业的说法应该叫作未引用代码(dead-code)

Tree-shaking 最早是 Rollup 中推出的一个特性,Webpack 从 2.0 过后开始支持这个特性。我们使用 Webpack 生产模式打包的优化过程中,就会自动开启这个功能,以此来检测我们代码中的未引用代码,然后自动移除它们。

试想一下,如果我们在项目中引入 Lodash 这种工具库,大部分情况下我们只会使用其中的某几个工具函数,而其他没有用到的部分就是冗余代码。通过 Tree-shaking 就可以极大地减少最终打包后 bundle 的体积

需要注意的是,Tree-shaking 并不是指 Webpack 中的某一个配置选项ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值