前端工程 · 性能
Tree Shaking
也叫:摇树优化、无用代码消除、Dead Code Elimination
打包时去掉没有被引用到的导出代码,让最终产物更小;依赖 ES Module 的静态结构。
详细解释
Tree Shaking 像摇树掉枯叶:你只从工具库 import 了 formatDate,理想情况下其它函数不会进包。它依赖 import/export 静态分析;CommonJS 动态 require 往往摇不干净。
写库时注意 side-effect:若模块一加载就改全局,打包器不敢删。应用侧避免 import * as _ from "lodash" 这种把整库拖进来的写法,改用按函数路径导入或已摇树友好的替代库。
和代码分割不同:摇树是「删没用的」,分割是「晚点再加载有用的」。
开发者信息术语 ID、DOM 线索、识别优先级
- 术语 ID
eng-tree-shaking- DOM 选择器
- 没有 DOM 线索,这个概念不在页面上直接识别。
- 优先级
- 1 · 同一层有多条命中时,优先级高的胜出
- 版本
- v1 · 更新于 2026/10/22