webpack tree shaking 總結

weixin_33807284發表於2019-01-02

原文連結 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年第一篇

相關文章