Tree Shaking
2023年03月05日
一、认识
Tree-shaking
, 也被称为live code inclusion
,是 Rollup
消除项目中并未实际使用到的代码的过程。它是一种消除无效代码的方式,但在优化输出内容大小方面可能比其他方法有效得多。这个名字源于模块内容(而非模块图)的抽象语法树(abstract syntax tree, AST
)。Tree-shaking
算法首先标记所有相关语句,然后摇动语法树以删除所有无效代码。其思想类似于标记-清除垃圾收集算法。虽然该算法不仅限于 Es Module
模块,但由于 Rollup
将所有模块视为一颗具有共享绑定的大型抽象语法树,使它能够运行的更快。