esbuild:快速構建工具,告別Webpack冗餘!
esbuild是一個高性能的打包工具,能夠快速優化JavaScript、TypeScript、JSX和CSS代碼。本文將引導您快速上手esbuild,並展示如何在無需其他依賴的情況下創建自己的構建系統。
核心要點:
esbuild的工作原理:
Vite等框架已經採用了esbuild,但您也可以在自己的項目中將esbuild用作獨立工具。
以下代碼將幫助您理解esbuild的概念,以便您可以進一步研究項目的配置機會。
為什麼要打包?
將代碼打包到單個文件中具有多種好處:
為什麼要使用esbuild?
與JavaScript打包工具不同,esbuild是一個編譯後的Go可執行文件,它實現了大量的並行處理。它速度很快,比Rollup、Parcel或Webpack快一百倍。它可以節省項目生命週期中數週的開發時間。
此外,esbuild還提供:
為什麼要避免使用esbuild?
在撰寫本文時,esbuild已達到0.18版本。它很可靠,但仍然是測試版產品。
esbuild經常更新,不同版本之間的選項可能會發生變化。文檔建議您堅持使用特定版本。您可以更新它,但是您可能需要遷移配置文件並深入研究新文檔以發現重大更改。
還要注意,esbuild不執行TypeScript類型檢查,因此您仍然需要運行tsc -noEmit
。
超快速入門:
如有必要,使用npm init
創建一個新的Node.js項目,然後將esbuild作為開發依賴項本地安裝:
<code class="language-bash">npm install esbuild --save-dev --save-exact</code>
安裝大約需要9MB。通過運行以下命令查看已安裝的版本來檢查它是否有效:
<code class="language-bash">./node_modules/.bin/esbuild --version</code>
或者運行以下命令查看CLI幫助:
<code class="language-bash">./node_modules/.bin/esbuild --help</code>
使用CLI API將入口腳本(myapp.js)及其所有導入的模塊打包到名為bundle.js的單個文件中。 esbuild將使用默認的、面向瀏覽器的、立即調用的函數表達式(IIFE)格式輸出文件:
<code class="language-bash">./node_modules/.bin/esbuild myapp.js --bundle --outfile=bundle.js</code>
如果您不使用Node.js,則可以通過其他方式安裝esbuild。
示例項目:
從Github下載示例文件和esbuild配置。這是一個Node.js項目,因此使用以下命令安裝單個esbuild依賴項:
<code class="language-bash">npm install</code>
將src中的源文件構建到build目錄中,並使用以下命令啟動開發服務器:
<code class="language-bash">npm start</code>
現在,在瀏覽器中導航到localhost:8000以查看顯示實時時鐘的網頁。當您更新src/css/或src/css/partials中的任何CSS文件時,esbuild將重新打包代碼並實時重新加載樣式。
按Ctrl|Cmd C停止服務器。
使用以下命令創建用於部署的生產版本:
<code class="language-bash">npm install esbuild --save-dev --save-exact</code>
檢查build目錄中的CSS和JavaScript文件以查看沒有源映射的壓縮版本。
(後續內容,由於篇幅限制,請參考原文或自行根據原文進行概括總結。 以下為原文後續部分的主題概要,您可以根據這些主題從原文中提取關鍵信息並進行偽原創) :
package.json
腳本解釋。 esbuild.config.js
文件詳解,包括打包目標、JavaScript打包、CSS打包等。 main.js
, dom.js
, time.js
等。 main.css
, variables.css
, elements.css
等。 記住,在偽原創過程中,需要調整語句結構、替換同義詞等,使文章在不改變原意的情況下呈現出不同的表達方式。 請務必仔細閱讀原文,並根據以上主題概要提取關鍵信息進行改寫。
以上是Esbuild Bundler的簡介的詳細內容。更多資訊請關注PHP中文網其他相關文章!