什麼情況下適合使用 Babel
- 你依賴只在 Babel 上才有的外掛或 preset。
- 你正在逐步遷移一個重度使用 Babel 的既有專案。
- 你想針對特定檔案類型(例如 MDX)套用具針對性的轉換。
Babel 能做到的事
| 能力 | 帶來什麼好處 |
|---|---|
| 針對性轉換 | 只針對特定檔案類型(例如 MDX)執行 Babel,而不需替換整條建置 pipeline |
| 接通 Babel 外掛生態 | 使用既有 web 專案中只在 Babel 上的 preset/plugin |
| 漸進式遷移 | 以更小的步驟把舊有的 Babel 擴充功能專案遷移到 Extension.js |
| 與 Rspack(Extension.js 打包工具)整合 | 透過 extension.config.* 的 config hook 設定 Babel |
範例設定
安裝 Babel 相依套件: 建立babel.config.json:
extension.config.js 中只把 Babel 串接到 MDX:
只在必要時才以 Babel 取代 SWC 處理 JS/TS
只有在需要 Babel 直接處理 JS/TS 入口檔時,才使用以下模式:最佳實務
- 優先採用針對性的 Babel 用法,再考慮整體替換預設的 JS/TS pipeline。
- 明確列出 Babel 規則,讓 loader 順序維持可預期。
- 只在遷移或外掛相容性必要的地方重複使用 Babel。

