在Webpack 5中可以期待什麼?
昨天,Webpack背後的團隊分享了我們將在即將釋出的版本Webpack 5中看到的所有更新。這個版本通過持久快取提高了構建效能,引入了一個新的命名塊ID演算法等等。對於Webpack 5,支援的最小Node.js版本已從6更新為8。
由於此版本是一個主要版本,它將帶來重大變化,使用者可能希望某些外掛無法正常工作。
Webpack 5中的預期功能
刪除了Webpack 4已棄用的功能
此版本中已刪除Webpack 4中已棄用的所有功能。因此,遷移到Webpack 5時,請確保您的Webpack構建不顯示任何棄用警告。此外,該團隊還刪除了現在必須傳遞選項物件的IgnorePlugin和BannerPlugin。
刪除了自動Node.js polyfill
Webpack 4之前的所有版本都為大多數Node.js核心模組提供了polyfill。一旦模組使用任何核心模組,這些都會自動應用。使用polyfill可以很容易地使用為Node.js編寫的模組,但是這也增加了bundle的大小,因為大型模組被新增到bundle中。為了阻止這種情況,Webpack 5會自動刪除此填充,並專注於前端相容模組。
確定性塊和模組ID的演算法
Webpack 5帶有用於長期快取的新演算法。預設情況下,這些在生產模式下啟用,並具有以下配置行:
chunkIds: “deterministic”, moduleIds: “deterministic”
這些演算法以確定的方式將短數字ID分配給模組和塊。建議您使用chunkIds和moduleIds的預設值。您還可以選擇使用舊的預設值chunkIds:“size”,moduleIds:“size”,這將生成較小的包,但更頻繁地使它們無效以進行快取。
命名塊ID演算法
引入了一種命名的塊ID演算法,該演算法在開發模式下預設啟用。它為塊和檔名提供了人類可讀的名稱,而不是舊的數字名稱。該演算法確定塊的內容的塊ID。因此,使用者不再需要使用import(/ * webpackChunkName:“name”* /“module”)進行除錯。要選擇退出此功能,您可以將配置更改為chunkIds:“natural”。
編譯器空閒並關閉
從Webpack 5開始,編譯器需要在使用後關閉。現在,編譯器進入和離開空閒狀態併為這些狀態掛鉤。關閉編譯後,所有剩餘的工作應儘快完成。然後,回撥將表示結束已完成。
您可以從 Webpack儲存庫 中讀取整個更改日誌。
Linux公社的RSS地址 : https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址: https://www.linuxidc.com/Linux/2019-02/156782.htm