跳轉到內容

專案哲學

精簡且可擴充套件的核心

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 外掛提供了一種在框架間共享的方式,從而補全了拼圖。當與 後端框架(如 RubyLaravel)搭配使用時,Vite 也是一個絕佳的選擇。

活躍的生態系統

Vite 的演進是框架和外掛維護者、使用者以及 Vite 團隊之間通力合作的結果。一旦專案採用 Vite,我們鼓勵積極參與 Vite 的核心開發。我們與生態系統中的主要專案密切合作,透過 vite-ecosystem-ci 等工具最大限度地減少每個版本的迴歸問題。它使我們能夠在選定的 PR 上執行使用 Vite 的主要專案的 CI,併為我們提供生態系統對版本釋出的反應情況。我們努力在迴歸問題影響使用者之前將其修復,並讓專案在版本釋出後儘快更新。如果您正在使用 Vite,我們誠邀您加入 Vite Discord 並參與到專案中來。