请解释Tree Shaking的原理及其与Babel的关系。
考察说明
考察前端构建优化中Tree Shaking和Babel的交互机制
回答思路
- 说明Tree Shaking基于ES Module静态分析去除未用代码
- 指出Babel默认转换会破坏ES Module静态结构
- 解释如何通过配置(如preset-env的modules:false)保留ES Module以支持Tree Shaking
- 举例说明sideEffects配置对Tree Shaking的影响
考察前端构建优化中Tree Shaking和Babel的交互机制