專案哲學
精簡且可擴充套件的核心
Vite 旨在支援構建 Web 應用最常見的模式,同時保持 Vite 核心的精簡和長期可維護性。我們堅信,支援多種用例的最佳方式是提供強大的原語和 API,供外掛構建使用,我們也會積極擴充套件核心功能以使 Vite 更具可擴充套件性。Vite 的外掛系統基於 Rollup 外掛 API 的超集,它使得像 vite-plugin-pwa 以及許多其他維護良好的外掛能夠滿足您的需求。Vite 的打包工具 Rolldown 保持了與 Rollup 外掛介面的相容性,因此外掛通常可以同時在 Vite 和純 Rollup 專案中使用。
推動現代 Web
Vite 提供了一些具有主張性的功能,以推動現代程式碼的編寫。例如:
- 原始碼只能用 ESM 編寫,非 ESM 依賴項需要預打包為 ESM 才能正常工作。
- 鼓勵使用
new Worker語法編寫 Web Worker,以遵循現代標準。 - Node.js 模組不能在瀏覽器中使用。
在新增新功能時,我們會遵循這些模式來建立面向未來的 API,這些 API 可能並不總是與其他構建工具相容。
務實的效能方法
自誕生之初,Vite 就一直專注於效能。其開發伺服器架構實現了在專案規模擴大時仍能保持快速的 HMR(熱模組替換)。Vite 基於包括 Oxc 工具鏈和 Rolldown 在內的原生工具來實現高負荷任務,同時保持其餘程式碼使用 JS 編寫,以平衡速度和靈活性。在需要時,框架外掛會利用 Babel 來編譯使用者程式碼。得益於 Rolldown 對 Rollup 外掛的相容性,Vite 可以訪問廣泛的外掛生態系統。
基於 Vite 構建框架
儘管使用者可以直接使用 Vite,但它作為建立框架的工具更顯卓越。Vite 核心與框架無關,但針對每個 UI 框架都有完善的外掛。其 JS API 允許應用框架作者使用 Vite 功能為使用者打造量身定製的體驗。Vite 包含對 SSR 原語的支援,這些通常存在於更高階的工具中,但卻是構建現代 Web 框架的基礎。Vite 外掛提供了一種在框架間共享的方式,從而補全了拼圖。當與 後端框架(如 Ruby 和 Laravel)搭配使用時,Vite 也是一個絕佳的選擇。
活躍的生態系統
Vite 的演進是框架和外掛維護者、使用者以及 Vite 團隊之間通力合作的結果。一旦專案採用 Vite,我們鼓勵積極參與 Vite 的核心開發。我們與生態系統中的主要專案密切合作,透過 vite-ecosystem-ci 等工具最大限度地減少每個版本的迴歸問題。它使我們能夠在選定的 PR 上執行使用 Vite 的主要專案的 CI,併為我們提供生態系統對版本釋出的反應情況。我們努力在迴歸問題影響使用者之前將其修復,並讓專案在版本釋出後儘快更新。如果您正在使用 Vite,我們誠邀您加入 Vite Discord 並參與到專案中來。
