跳轉到內容

Vite 5.0 釋出了!

2023 年 11 月 16 日

Vite 5 Announcement Cover Image

Vite 4 於近一年前釋出,它為整個生態系統打下了堅實的基礎。隨著專案不斷建立在共享的基礎設施之上,每週的 npm 下載量從 250 萬次躍升至 750 萬次。框架持續創新,除了 AstroNuxtSvelteKitSolid StartQwik City 等之外,我們還看到新的框架加入並壯大了生態系統。RedwoodJSRemix 轉向 Vite,為 React 生態系統的進一步採用鋪平了道路。Vitest 的增長速度甚至超過了 Vite。其團隊一直致力於開發,並即將 釋出 Vitest 1.0。Vite 與 StorybookNxPlaywright 等其他工具結合使用的體驗持續改善,在環境方面也是如此,Vite 開發伺服器現已支援在 DenoBun 中執行。

上個月,我們舉辦了由 StackBlitz 主辦的第二屆 ViteConf。像去年一樣,生態系統中的大多數專案齊聚一堂,分享想法並建立聯絡,以持續擴充套件公共資源。我們還看到了一些新的元件補充了元框架工具鏈,例如 VolarNitro。Rollup 團隊在同一天釋出了 Rollup 4,延續了 Lukas 去年開創的傳統。

六個月前,Vite 4.3 釋出了。該版本顯著提升了開發伺服器的效能。然而,仍有很大的改進空間。在 ViteConf 上,尤雨溪(Evan You)公佈了 Vite 關於 Rolldown 的長期計劃,這是一個使用 Rust 編寫的、API 與 Rollup 相容的構建工具。一旦準備就緒,我們打算在 Vite Core 中使用它來承擔 Rollup 和 esbuild 的任務。這意味著構建效能將得到提升(隨著我們將 Vite 本身對效能敏感的部分遷移到 Rust,開發效能也會隨之提升),並大大減少開發和構建環境之間的不一致。Rolldown 目前處於早期階段,團隊正準備在今年年底前開源其程式碼庫。敬請期待!

今天,我們標誌著 Vite 發展歷程中的又一個重要里程碑。Vite 團隊貢獻者以及生態系統合作伙伴非常激動地宣佈 Vite 5 的釋出。Vite 現在使用 Rollup 4,這已經帶來了構建效能的巨大提升。此外,還有新的選項可以最佳化您的開發伺服器效能。

Vite 5 專注於清理 API(移除已棄用的功能),並簡化了多項功能,解決了長期存在的問題,例如將 define 切換為使用正確的 AST 替換,而不是正則表示式。我們還繼續採取措施,使 Vite 能夠面向未來(現在需要 Node.js 18+,並且 CJS Node API 已被棄用)。

快速連結

其他語言的文件

如果您是 Vite 的新手,我們建議您先閱讀 入門特性 指南。

我們非常感謝超過 850 名 Vite Core 貢獻者,以及幫助我們走到這一步的 Vite 外掛、整合、工具和翻譯的維護者和貢獻者。我們鼓勵您參與進來,與我們一起繼續改進 Vite。您可以在我們的 貢獻指南 中瞭解更多資訊。為了開始貢獻,我們建議 對 issue 進行分類審查 PR、根據開放的 issue 傳送包含失敗測試用例的 PR,並在 Discussions 和 Vite Land 的 幫助論壇 中幫助他人。您會在過程中學到很多,併為進一步向專案做出貢獻鋪平道路。如果您有疑問,歡迎加入我們的 Discord 社群,並在 #contributing 頻道 打個招呼。

要獲取最新資訊,請在 XMastodon 上關注我們。

Vite 5 快速入門

使用 pnpm create vite 來使用您喜歡的框架搭建 Vite 專案,或者透過 vite.new 線上開啟啟動模板來嘗試 Vite 5。您還可以執行 pnpm create vite-extra 來獲取其他框架和執行時(Solid、Deno、SSR 和庫啟動模板)的模板。當您在 create vite 中選擇 Others 選項時,也可以使用 create vite-extra 模板。

請注意,Vite 啟動模板旨在作為測試 Vite 與不同框架配合使用的演練場。在構建下一個專案時,我們建議使用每個框架官方推薦的啟動器。現在,某些框架在 create vite 中也會重定向到它們自己的啟動器(如 Vue 的 create-vueNuxt 3,以及 Svelte 的 SvelteKit)。

Node.js 支援

Vite 不再支援已達到 EOL(生命週期終止)的 Node.js 14 / 16 / 17 / 19。現在需要 Node.js 18 / 20+。

效能

除了 Rollup 4 的構建效能提升之外,我們還提供了一份新指南,幫助您識別和解決常見的效能問題:https://vite.vuejs.tw/guide/performance

Vite 5 還引入了 server.warmup,這是一項旨在提高啟動速度的新功能。它允許您定義一個模組列表,這些模組應在伺服器啟動時立即進行預轉換。當使用 --openserver.open 時,Vite 還會自動預熱應用程式的入口點或您提供的 URL。

主要變化

遷移到 Vite 5

我們與生態系統合作伙伴合作,確保平穩遷移到這個新的主版本。再次強調,vite-ecosystem-ci 對於幫助我們做出更大膽的改變同時避免迴歸至關重要。我們很高興看到其他生態系統也採用了類似的方案,以改善其專案與下游維護者之間的協作。

對於大多數專案,更新到 Vite 5 應該是非常直接的。但我們建議在升級前查閱 詳細的遷移指南

有關 Vite 核心變更的完整列表,可以在 Vite 5 更新日誌 中找到。

鳴謝

Vite 5 是我們的貢獻者社群、下游維護者、外掛作者和 Vite 團隊共同努力的結果。特別感謝 Bjorn Lu 領導了這個主版本的釋出過程。

我們還要感謝資助 Vite 開發的個人和公司。StackBlitzNuxt LabsAstro 繼續透過聘用 Vite 團隊成員來投資 Vite。感謝在 Vite GitHub SponsorsVite Open Collective尤雨溪 GitHub Sponsors 上的贊助商。特別提及 Remix,感謝他們在切換到 Vite 後成為金牌贊助商並做出回饋。