中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

實驗性JavaScript捆綁程序和壓縮程序使用Go來提高速度

發(fā)布于:2021-01-08 09:50:07

0

104

0

JavaScript Go webpack

JavaScript捆綁可能需要很長時間,但是一定要這樣嗎?esbuild創(chuàng)建為一個業(yè)余項目,表明JS捆綁不必太慢。讓我們看一下這個項目,它的基準(zhǔn)測試結(jié)果如何比較,看看它是如何工作的,以及檢查webpack以及期待已久的Webpack 5到來的議程。

JavaScript捆綁涉及分隔文件,以減少加載網(wǎng)頁所需的服務(wù)器請求的數(shù)量和大小。有許多用于JavaScript的構(gòu)建工具。在webpack,Gulp和宗地之間,生態(tài)系統(tǒng)充滿了選擇。

一個新的JS捆綁程序和壓縮程序可作為一個實驗性愛好項目使用,但是esbuild有所不同。 在Golang的幫助下,它比其他方法快得多。

讓我們快速瀏覽一下此JS工具,并期盼一下webpack的議程。

快速的表現(xiàn)

根據(jù)基準(zhǔn)測試,esbuild比其他常用的JavaScript捆綁器(包括webpack,匯總和包裹)快10到100倍,并且輸出大小大致相同。(使用來測試基準(zhǔn) make bench-three。)

讓數(shù)字說明一切:

{xunruicms_img_title}

esbuild速度的關(guān)鍵在于其選擇的語言。它是用Go語言編寫的。由于Go是一種快速的語言,因此它使捆綁程序可以利用它并避免速度下降。

根據(jù)其README,它當(dāng)前支持:

  • CommonJS模塊

  • ES6模塊

  • 使用以下方式綁定ES6模塊的靜態(tài)綁定 --bundle

  • 完全縮小 --minify (空格,標(biāo)識符和修飾符)

  • --sourcemap 啟用時全面支持源地圖 

  • JSX到JavaScript的.jsx 文件轉(zhuǎn)換 

  • 通過編譯時標(biāo)識符替換 --define

  • 使用中的browser 字段進(jìn)行 路徑替換 package.json

  • 自動檢測 baseUrl in tsconfig.json

測試一下

提醒您,此捆扎機不應(yīng)在生產(chǎn)中使用,也未在生產(chǎn)環(huán)境中進(jìn)行過測試。創(chuàng)作者說這是一個在冬季休假期間創(chuàng)建的愛好項目。因此,它包括潛在的錯誤以及新代碼和實驗項目的所有相關(guān)風(fēng)險。

但是,請隨意嘗試一下,即使只是作為實驗來了解JS工具可能有多快。

查看GitHub上的安裝指南以及如何使用命令行界面。

展望webpack 5

盡管Webpack性能相對較慢,但它通常是JavaScript應(yīng)用程序最常用的捆綁器,尤其是在生產(chǎn)中,它是JavaScript 2019開發(fā)人員調(diào)查中列出的頂級JS工具之一。它是一個模塊捆綁器,用于捆綁JavaScript文件以供在瀏覽器中使用,創(chuàng)建 bundle.js并擁有一個具有大型生態(tài)系統(tǒng)的可自定義插件界面。

Webpack 5即將推出,并將包含一些新的實驗功能。Sergey Melyukov撰寫的文章系列的開始將分解v5中的預(yù)期。閱讀第一個條目并探索資產(chǎn)模塊。

截至目前,尚未確定webpack 5的發(fā)布日期,因為它目前處于測試階段,并且正在收集用戶反饋。此版本具有所有主要的更改和功能。因此,現(xiàn)在剩下的就是實現(xiàn)更好的穩(wěn)定性和進(jìn)一步的測試。

查看更改日志以獲取有關(guān)即將推出的新功能的更多信息。