原文連結 https://www.webpackjs.com/gui...
什麼是tree shaking
tree shaking 是一個術語,用於描述移除JavaScript 上下文中的未引用程式碼
為什麼可以實現
它依賴ES2015 模組系統中的靜態結構特性,例如import 和export
在webpack 中如何用
版本要求:webpack 4。 在package.json 中新增 sideEffects.
副作用的定義是,在匯入時會執行特殊行為的程式碼,而不是僅僅暴露一個export 或多個export。例如 polyfill, 它影響全域性作用域,並且通常不提供export。
- 如果所有程式碼都不包含副作用,將其設定為false. webpack 就可以安全地刪除未用到的export 匯出
- 如果你的程式碼確實有一些副作用,你可以為sideEffects 提供一個陣列。
ps: 任何匯入的檔案都會受到tree shaking 的影響。這意味著,如果在專案中使用類似css-loader 並匯入css檔案,需要將其新增到side effect 列表中,以免在生成模式中無意將它刪除。
壓縮輸出
設定webpack mode: production 就可以在bundle 中刪除那些未被引用的程式碼
2019年第一篇