本文為翻譯自 Comparing the New Generation of Build Tools 一文加上更新補充。因建置工具更新速度關係,如遇部分內容無法實作或不一致請參考各官方文件。
過去的一年出現了一堆新的開發工具,它們緊跟著那些目前佔據前端世界的建置工具例如:webpack,Babel,Rollup,Parcel,create-react-app。
這些新工具的目的並不是實現一模一樣功能,它們各自有不同想嘗試解決的問題或新增的功能。儘管有所不同,但這些工具都有著共同的目標:改善開發者體驗。
具體來說,本文希望試著分析每個新工具,概述它們的功能,以及為什麼我們需要它們和適用的情境。我知道項目之間的比較很難非常公平,再一次強調這裡比較的項目,它們的關係並非直接的競品。實際上例如 Snowpack 底層就有使用 esbuild 來處理某些事情。
本文的目的是更進一步了解這些工具的前景和它們提供什麼功能可以讓我們簡化開發流程。如此一來我們就知道能有什麼選擇,以及它們是如何組成的,然後在需要的時候我們可以做出比較好的決定。
當然這些論述有受到我使用 React 和 Preact 經驗的影響。個人比較熟悉這些函式庫,但我們也會探討對其他前端函式庫的支援和使用。
關於這些新工具網路上有許多不錯的文章,影片,廣播等。推薦 ShopTalk Show Episode 454 探討關於 Vite 以及 Episode 448 Snowpack 和 wmr 作者的介紹。從這些影片介紹我們知道這些工具如何加速優化了我們的開發工作。