專案理念
精簡可擴展的核心
Vite 並不打算涵蓋每個使用者所有使用情境。Vite 的目標是支援開箱即用建構 Web 應用程式最常見的模式,但 Vite 核心 必須保持精簡,並具有小的 API 介面,以保持專案的長期可維護性。這個目標之所以可行,要歸功於 Vite 基於 Rollup 的外掛系統。可以實作為外部外掛的功能通常不會加入到 Vite 核心中。vite-plugin-pwa 是一個很好的例子,說明在 Vite 核心之外可以實現的功能,並且有很多 維護良好的外掛 可以滿足您的需求。Vite 與 Rollup 專案密切合作,盡可能確保外掛可以用於純 Rollup 和 Vite 專案,並在可能的情況下嘗試將所需擴充推送到上游外掛 API。
推動現代 Web 技術
Vite 提供了引導式功能,推動撰寫現代化的程式碼。例如:
- 原始碼只能以 ESM 撰寫,其中非 ESM 的依賴項需要 預先打包為 ESM 才能運作。
- 鼓勵使用
new Worker
語法 撰寫 Web Workers,以遵循現代標準。 - Node.js 模組不能在瀏覽器中使用。
在新增功能時,會遵循這些模式來建立面向未來的 API,這可能並不總是與其他建置工具相容。
務實的效能處理方式
Vite 自 起源 以來就一直專注於效能。其開發伺服器架構允許 HMR 在專案擴展時保持快速。Vite 使用 esbuild 和 SWC 等原生工具來實作密集型任務,但其餘程式碼保持在 JS 中,以平衡速度和彈性。在需要時,框架外掛會利用 Babel 來編譯使用者程式碼。在建置時,Vite 目前使用 Rollup,其中套件大小和存取廣泛的外掛生態系統比原始速度更重要。Vite 將繼續在內部發展,在保持 API 穩定的同時,使用新出現的程式庫來改善開發體驗。
在 Vite 之上建構框架
雖然 Vite 可以由使用者直接使用,但它作為建立框架的工具而大放異彩。Vite 核心與框架無關,但每個 UI 框架都有完善的外掛。它的 JS API 允許應用程式框架作者使用 Vite 功能為其使用者建立量身定制的體驗。Vite 包含對 SSR 基礎元件 的支援,這些基礎元件通常存在於較高層級的工具中,但對於建立現代 Web 框架至關重要。Vite 外掛透過提供一種在框架之間共享的方式來完成此項任務。Vite 與 後端框架(如 Ruby 和 Laravel)搭配使用時也非常合適。
活躍的生態系統
Vite 的發展是框架和外掛維護者、使用者以及 Vite 團隊之間的合作。我們鼓勵專案採用 Vite 後積極參與 Vite 核心開發。我們與生態系統中的主要專案密切合作,以最大程度地減少每次發布的迴歸,並透過 vite-ecosystem-ci 等工具來輔助。它允許我們在選定的 PR 上執行使用 Vite 的主要專案的 CI,並清楚了解生態系統對發布的反應。我們力求在迴歸影響使用者之前修復迴歸,並允許專案在發布後立即更新到下一個版本。如果您正在使用 Vite,我們邀請您加入 Vite 的 Discord 並參與該專案。