webpack优化系列(5)-tree-shaking

本文详细介绍了Tree-Shaking的概念及其实现原理,解释了如何利用Webpack等工具进行Tree-Shaking,从而有效地移除未使用的代码,减少代码体积,提高前端应用的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是tree-shaking呢?

可以理解为:通过工具"摇"我们的JS文件,将其中用不到的代码"摇"掉,是一个性能优化的范畴。

具体的来说,在 前端项目中,webpack配置文件中有一个入口文件,相当于一棵树的主干,入口文件有很多依赖的模块,相当于树枝。实际情况中,虽然依赖了某个模块,但其实只使用其中的某些功能。通过 tree-shaking,将没有使用的模块摇掉,这样来达到删除无用代码的目的。

作用

去除无用代码,减少代码体积


使用tree-shaking的前提

  • 必须使用es6模块化
  • 开启production模式

但是这个也有问题,可能因为webpack版本的问题。比如我们在package.json中配置:

// 表示所有代码都没有副作用,都可以进行tree shaking
sideEffects: false 

问题:可能会在构建过程中干掉某些文件比如css文件(干掉没有引用的文件)
改为:

// 就不会把css文件干掉了。[]中标记不要被tree shaking的文件类型
sideEffects: ["*.css"]

系列相关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值