iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
Modern Web

Rust 的戰國時代:探索網頁前端工具的前世今生 系列

本系列期待能由淺入深剖析各種 bundler、build tool 如 Webpack、Vite (Rollup/Rolldown)、esbuild、Rspack、Turbopack 等工具的特性與優缺點,並通過實際弄髒手做實驗的方式來理解它們的運作原理與實戰技巧

參賽天數 12 天 | 共 12 篇文章 | 14 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day 01:前言

簡單聊聊本系列文的選題動機,以及預計的開展方向。期待能由淺入深剖析各種 bundler、build tool 如 Webpack、Vite (Rollup/R...

2024-09-15 ‧ 由 codefarmer 分享
DAY 2

Day 02:什麼是 web bundler?

今天將試著精簡地介紹什麼是 web bundler 以及為什麼需要用,並利用一個小小的純手工實驗體驗經典不敗的 Webpack 設定方式。 (Photo...

2024-09-16 ‧ 由 codefarmer 分享
DAY 3

Day 03:網頁前端工具的前世今生 (一) - JavaScript 模組化

今天簡單地為此系列做了個破題,決定由 JavaScript 的模組化歷史切入,描述了何謂模組化、JavaScript 在最古早時期是如何利用 Namespac...

2024-09-17 ‧ 由 codefarmer 分享
DAY 4

Day 04:網頁前端工具的前世今生 (二) - 在 CommonJS 前未被提及的歷史

今天嘗試考古在 CommonJS 出現前的 JavaScript 模組化歷史,從模組模式的由來,再聊到以前為了能達到非同步載入多個模組,並避免載入模組時產生過...

2024-09-18 ‧ 由 codefarmer 分享
DAY 5

Day 05:網頁前端工具的前世今生 (三) - CommonJS 與 Node.js 的 server side 模組化開端

前面有提到早期 JavaScript 開發者要做到發佈與載入模組沒有一個方便的做法,今天將從 2009 年出現的 CommonJS 社群切入,繼續來聊聊 Ja...

2024-09-19 ‧ 由 codefarmer 分享
DAY 6

Day 06:網頁前端工具的前世今生 (四) - Client Side 模組化的百家爭鳴

(Photo by Jr Korpa) Client Side 模組化的百家爭鳴 (2011-2012) 前言 昨天在 CommonJS 的介紹中最後提到 r...

2024-09-20 ‧ 由 codefarmer 分享
DAY 7

Day 07:網頁前端工具的前世今生 (五) - 模組化最終章,一口氣說完 NPM、Browserify、Webpack、ESM

今天將用 ESM 收尾關於 JavaScript 模組化的歷史,並帶出以前 NPM、Browserify、Webpack 等工具如何成為複雜的現代網頁開發中一...

2024-09-21 ‧ 由 codefarmer 分享
DAY 8

Day 08:現代 bundler、build tool 簡介 (Vite、esbuild、Rspack、Rolldown、Turbopack)

(Photo by Jr Korpa) 前言 前面模組化歷史不小心鑽太深,在稍微有點長的前情提要後,今天終於要講回正題了。 在 Webpack 橫空出世後,將...

2024-09-22 ‧ 由 codefarmer 分享
DAY 9

Day 09:為什麼 Vite 的冷啟動可以這麼快?

(Photo by Jr Korpa) 前言 昨天簡介了這麼多套 bundler、build tool 後,今天想開始來動手做一些東西,但 Rust-base...

2024-09-23 ‧ 由 codefarmer 分享
DAY 10

Day 10:用實驗來理解 Vite 的 dependency pre-bundling 是什麼 (1)

(Photo by Jr Korpa) 前言 昨天在探討為什麼 Vite 在 dev server 的冷啟動這麼快時,目前我們只知道是因為有用上了瀏覽器的 n...

2024-09-24 ‧ 由 codefarmer 分享