webpack5 新特性

第五代webpack昨天發(fā)布,距離上一個(gè)版本4.0有兩年的時(shí)間,這次的發(fā)版給javascript生態(tài)中最常用的打包模塊帶來了很多變化。如果像我一樣,在webpack興起之前就開始了你的前端生涯,你還記得在工作中使用gulp和grunt的抱怨和沮喪嗎?

讓我們來看看這個(gè)非常受歡迎的庫的新版本帶來的重大變化和改進(jìn)

這個(gè)版本需要關(guān)注5個(gè)關(guān)鍵點(diǎn)

快速持久的構(gòu)建

開發(fā)者們抱怨最多的就是關(guān)于webpack的打包速度太慢。這個(gè)模塊打包現(xiàn)在提供了一共文件緩存系統(tǒng),通過打包加速可以提高我們的開發(fā)生產(chǎn)力。

更小的包體積

改善已經(jīng)做了TreeShaking的代碼(已被稱為廢棄代碼)。同時(shí)上一個(gè)版本有能力移除沒用的代碼,webpack5更進(jìn)了一步。webpack有能力移除代碼里的內(nèi)部模塊,從而減少體積。更多webpack5的優(yōu)化特性,訪問https://webpack.js.org/blog/2020-10-10-webpack-5-release/#major-changes-optimization

更長(zhǎng)的緩存

在打包大小之后,最能改善應(yīng)用加載時(shí)間的是緩存。有緩存后,訪問者訪問你的應(yīng)用體檢幾乎是瞬間打開的。在webpack 5中,對(duì)代碼所做的改變不會(huì)改變最小化版本(例如,注釋或變量名),不會(huì)導(dǎo)致緩存失效。意味著你的用戶將能夠體驗(yàn)長(zhǎng)時(shí)間的緩存。

現(xiàn)在進(jìn)行重大更改,以便以后進(jìn)行進(jìn)一步的改進(jìn)

在此版本有許多改變將不會(huì)有任何的顯性影響。換句話來說,在未來的版本里會(huì)允許使用新的特性。

這些新的特性包括用http(s) 導(dǎo)入 module 擴(kuò)展。它將幫你開發(fā)微前端。還有更多新的并且讓人興奮的特性,可以訪問https://webpack.js.org/blog/2020-10-10-webpack-5-release/#experiments

另外一個(gè)改變是Nodejs版本需要從6到10.13.0,放棄對(duì)舊Node.JS版本的支持將允許團(tuán)隊(duì)簡(jiǎn)化他們的代碼,并刪除支持這些舊版本的解決方案。

webpack5同時(shí)也帶來了一個(gè)新的 experiments 配置選項(xiàng)支持 WebAssembly, Async Web Assembly, Top Level Await 并且輸出你的包成一個(gè)模塊(之前只有rollup支持)

模塊聯(lián)邦

這是個(gè)新的特性,簡(jiǎn)單說,允許多個(gè) webpack 構(gòu)建在一起工作。它允許你的應(yīng)用動(dòng)態(tài)加載代碼從其它應(yīng)用(webpack打包的)。模塊聯(lián)合最流行的應(yīng)用是啟用微前端架構(gòu)。

如果你感興趣學(xué)習(xí)更多,可以訪問https://webpack.js.org/concepts/module-federation/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 你可能已經(jīng)在使用Webpack來打包前端資源,Webpack即將發(fā)布新的V5版本。在本文中,我將分享 Webpac...
    虛蕪面孔閱讀 21,437評(píng)論 1 2
  • 1:剔除npm包里面針對(duì)Node.js模塊自動(dòng)引用的Polyfills v4編譯引入npm包,有些npm包里面包含...
    flyrain2020閱讀 3,486評(píng)論 0 1
  • 此版本重點(diǎn)關(guān)注以下內(nèi)容: 通過持久緩存提高構(gòu)建性能. 使用更好的算法和默認(rèn)值來改善長(zhǎng)期緩存. 通過更好的樹搖和代碼...
    熱心市民蘿卜先生閱讀 3,927評(píng)論 0 2
  • Webpack 5 發(fā)行版 (2020-10-10) webpack 4在2018年二月份發(fā)行。在那以后我們封裝了...
    廣蘭路地鐵閱讀 1,181評(píng)論 0 0
  • 安裝與啟動(dòng) Webpack 5 發(fā)布已經(jīng)有一段時(shí)間了,很多小伙伴都在考慮要不要升級(jí),有沒有升級(jí)的必要,不知道升級(jí)后...
    西嶺老濕閱讀 1,168評(píng)論 1 1

友情鏈接更多精彩內(nèi)容