跳到主要内容

前端工程 · 性能

Tree Shaking

也叫:摇树优化、无用代码消除、Dead Code Elimination

打包时去掉没有被引用到的导出代码,让最终产物更小;依赖 ES Module 的静态结构。

详细解释

Tree Shaking 像摇树掉枯叶:你只从工具库 import 了 formatDate,理想情况下其它函数不会进包。它依赖 import/export 静态分析;CommonJS 动态 require 往往摇不干净。

写库时注意 side-effect:若模块一加载就改全局,打包器不敢删。应用侧避免 import * as _ from "lodash" 这种把整库拖进来的写法,改用按函数路径导入或已摇树友好的替代库。

和代码分割不同:摇树是「删没用的」,分割是「晚点再加载有用的」。

开发者信息
术语 ID
eng-tree-shaking
DOM 选择器
没有 DOM 线索,这个概念不在页面上直接识别。
优先级
1 · 同一层有多条命中时,优先级高的胜出
版本
v1 · 更新于 2026/10/22