上一篇 我们非常详细介绍了 Webpack 的调试体验相关内容。
一、高级特性:tree shaking
介绍
Tree Shaking 翻译过来的意思就是“摇树”。
伴随着摇树的动作,树上的枯树枝和树叶就会掉落下来。通过 Tree-shaking “摇掉”的是代码中那些没有用到的部分,这部分没有用的代码更专业的说法应该叫作未引用代码(dead-code)
。
Tree-shaking 最早是 Rollup
中推出的一个特性,Webpack 从 2.0 过后开始支持这个特性。我们使用 Webpack 生产模式打包的优化过程中,就会自动开启这个功能,以此来检测我们代码中的未引用代码,然后自动移除它们。
试想一下,如果我们在项目中引入 Lodash 这种工具库,大部分情况下我们只会使用其中的某几个工具函数,而其他没有用到的部分就是冗余代码。通过 Tree-shaking 就可以极大地减少最终打包后 bundle 的体积。
需要注意的是,Tree-shaking 并不是指 Webpack 中的某一个配置选项ÿ