tree shaking(摇树)你必须要知道的事情

Tree Shaking 是一种用于删除 JavaScript 应用中未使用的代码(死代码)的技术,以减少输出大小。源于 Rollup,ES2015 的 ECMAScript 模块(ESM)使得 Tree Shaking 成为可能。本文详细探讨了 ES Modules 与 CommonJS 的差异,作用域和副作用,以及如何避免过早转译。提供了 Tree Shaking 实施的检查列表,以帮助优化代码性能和构建时间。
摘要由CSDN通过智能技术生成

简单地说,摇树意味着从包中删除无法访问的代码(也称为死代码)

“你可以把你的应用想象成一棵树。您实际使用的源代码和库代表了树的绿色、有生命的叶子。死代码代表秋天消耗的树的棕色枯叶。为了摆脱枯叶,你必须摇晃树,让它们倒下。”

“You can imagine your application as a tree. The source code and libraries you actually use represent the green, living leaves of the tree. Dead code represents the brown, dead leaves of the tree that are consumed by autumn. In order to get rid of the dead leaves, you have to shake the tree, causing them to fall.”

这个词最早是由Rollup 团队在前端社区普及的。但是所有动态语言的作者从很早以前就一直在努力解决这个问题。摇树算法的想法至少可以追溯到 1990 年代初期。

在 JavaScript 领域,自从 ES2015 中的 ECMAScript 模块 (ESM) 规范(以前称为 ES6)以来,tree-shaking 已经成为可能。从那时起,大多数打包器默认启用摇树,因为它们在不改变程序行为的情况下减少了输出大小。

ES Modules Vs CommonJS

CommonJS 比 ESM 规范早了几年。它旨在解决 JavaScrip

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值