⚠️:本文所使用的
rollup
是0.20.0
版本,这是treeshake
的第一个版本,代码非常简洁,更利于理解
treeshake
相信大家都知道,其本意是摇树(即摇掉树上的死叶子,用来代指打包时摇掉死代码)。这个概念说起来简单,可是 rollup
是怎么做到的呢,这也就是本文的主要目的了
rollup
的 treeshake
大概分为两个阶段,第一个阶段就是标记,这也是 rollup
的 treeshake
核心部分,即标记出来哪些是需要被摇掉的代码,第二阶段就是在
生成的时候直接不生成这部分代码到 chunk
中。
原创2021年8月28日大约 7 分钟