跳轉到內容

Vite 6.0 釋出了!

2024 年 11 月 26 日

Vite 6 Announcement Cover Image

今天,我們在 Vite 的發展歷程中又邁出了重要的一步。Vite 團隊貢獻者以及生態系統合作伙伴非常激動地宣佈 Vite 6 正式釋出。

這一年發生了許多大事。Vite 的採用率持續增長,自一年前 Vite 5 釋出以來,npm 每週下載量已從 750 萬次躍升至 1700 萬次。Vitest 不僅越來越受到使用者青睞,也開始形成其獨立的生態系統。例如,Storybook 現在擁有由 Vitest 支援的全新測試功能。

新的框架也加入了 Vite 生態系統,包括 TanStack StartOneEmber 等等。Web 框架正以越來越快的速度進行創新。你可以看看 AstroNuxtSvelteKitSolid StartQwik CityRedwoodJSReact Router 等社群夥伴所做的改進,名單還在不斷增加。

OpenAI、Google、Apple、Microsoft、NASA、Shopify、Cloudflare、GitLab、Reddit、Linear 等眾多公司都在使用 Vite。兩個月前,我們開始整理一份使用 Vite 的公司名單。我們很高興看到許多開發者提交 PR 將他們的公司新增到列表中。很難相信,自 Vite 邁出第一步以來,我們共同構建的生態系統已經成長了這麼多。

Vite weekly npm downloads

加速 Vite 生態系統

上個月,社群齊聚第三屆 ViteConf,該會議再次由 StackBlitz 主辦。這是規模最大的一次 Vite 大會,來自生態系統的開發者們有著廣泛的代表性。在眾多公告中,尤雨溪(Evan You)宣佈了 VoidZero,這是一家致力於為 JavaScript 生態系統構建開源、高效能且統一的開發工具鏈的公司。VoidZero 背後是 RolldownOxc,他們的團隊正在取得重大進展,使其能夠迅速被 Vite 採用。觀看 Evan 的主題演講,瞭解更多關於 Vite 基於 Rust 的未來規劃。

Stackblitz 推出了 bolt.new,這是一個結合了 Claude 和 WebContainers 的 Remix 應用,讓你能夠透過提示詞(prompt)來編輯、執行和部署全棧應用。Nate Weiner 宣佈了 One,這是一個由 Vite 驅動的、用於 Web 和原生應用的全新 React 框架。Storybook 展示了他們最新的由 Vitest 驅動的 測試功能。還有更多精彩內容。我們鼓勵大家觀看 全部 43 場演講。演講者們投入了大量精力來分享各自專案的最新動態。

Vite 還更新了落地頁,並啟用了簡潔的新域名。今後,請將你的 URL 更新指向新的 vite.dev 域名。新設計和實現由 VoidZero 完成,採用了與他們官網相同的製作團隊。特別鳴謝 Vicente RodriguezSimon Le Marchant

Vite 的下一個重大版本已經到來

Vite 6 是自 Vite 2 以來最重要的主要版本更新。我們渴望與生態系統合作,透過新的 API 繼續擴充套件我們共享的公共設施,並一如既往地提供一個更加完善的基礎設施。

快速連結

如果你是 Vite 的新手,我們建議先閱讀開始使用功能介紹指南。

我們要感謝超過 1000 名 Vite 核心貢獻者,以及 Vite 外掛、整合、工具和翻譯的維護者與貢獻者,他們幫助我們打造了這個新的重大版本。我們邀請你參與其中,幫助我們為整個生態系統改進 Vite。瞭解更多資訊,請檢視我們的貢獻指南

要開始參與,我們建議協助分類 Issue評審 PR、基於開放 Issue 傳送失敗測試的 PR,並在 Discussions 和 Vite Land 的 幫助論壇中為他人提供支援。如果你想與我們交流,請加入我們的 Discord 社群並在 #contributing 頻道打個招呼。

獲取有關 Vite 生態系統和 Vite 核心的最新訊息,請關注我們的 BlueskyXMastodon

開始使用 Vite 6

你可以使用 pnpm create vite 快速建立一個首選框架的 Vite 應用,或者在 vite.new 線上體驗 Vite 6。你也可以執行 pnpm create vite-extra 來獲取其他框架和執行時(Solid, Deno, SSR 和庫入門)的模板。當你執行 create vite 時,在 Others 選項下也可以找到 create vite-extra 模板。

Vite 起步模板旨在作為測試 Vite 與不同框架配合使用的練習場。構建實際專案時,你應該參考各框架官方推薦的起步工具。create vite 也提供了快捷方式來設定某些框架的官方起步工具,如 create-vueNuxt 3SvelteKitRemixAnalogAngular

Node.js 支援

Vite 6 支援 Node.js 18、20 和 22+,這與 Vite 5 類似。Node.js 21 的支援已被移除。Vite 會在 Node.js 舊版本達到 EOL(生命週期結束)後取消對其的支援。Node.js 18 的 EOL 時間是 2025 年 4 月底,屆時我們可能會發佈一個新的重大版本以提升所需的 Node.js 最低版本。

實驗性環境 API (Environment API)

藉助全新的環境 API,Vite 變得更加靈活。這些新 API 將允許框架作者提供更接近生產環境的開發體驗,並使生態系統能夠共享新的構建模組。如果你正在構建 SPA,一切都不會改變;當你使用具有單一客戶端環境的 Vite 時,一切都像以前一樣工作。即使是對於自定義 SSR 應用,Vite 6 也是向後相容的。環境 API 的主要受眾是框架作者。

對於感到好奇的終端使用者,Sapphi 撰寫了一篇非常出色的環境 API 介紹指南。這是一個瞭解我們為何致力於讓 Vite 更具靈活性的絕佳起點。

如果你是框架作者或 Vite 外掛維護者,想要利用這些新 API,可以在 環境 API 指南中瞭解更多資訊。

我們要感謝所有參與定義和實現這些新 API 的人們。這一切始於 Vite 2 採用了由 Rich HarrisSvelteKit 團隊開創的非打包式 SSR 開發方案。隨後,Vite 的 SSR 轉換功能解鎖了 Anthony FuPooya Parsa 建立 vite-node 並改進 Nuxt 開發 SSR 體驗的能力。Anthony 後來利用 vite-node 來驅動 Vitest,而 Vladimir Sheremet 作為 Vitest 維護者持續對其進行改進。2023 年初,Vladimir 開始致力於將 vite-node 合併到 Vite 核心中,我們在一年後的 Vite 5.1 中將其作為執行時 API 釋出。來自生態系統合作伙伴的反饋(特別感謝 Cloudflare 團隊)促使我們對 Vite 的環境進行了更雄心勃勃的重構。你可以在 Patak 的 ViteConf 24 演講中瞭解更多背後的故事。

Vite 團隊的所有成員都參與了定義這個新 API 的工作,它是在參考了生態系統中許多專案的反饋後共同設計的。感謝所有參與的人!如果你正在基於 Vite 構建框架、外掛或工具,我們鼓勵你參與進來。這些新 API 目前是實驗性的。我們將與生態系統合作,評估這些 API 的實際使用情況,並在下一個重大版本中將其穩定下來。如果你有任何疑問或想提供反饋,這裡有一個 公開的 GitHub 討論區

主要變更

此外,還有一個新的破壞性變更頁面,列出了 Vite 中所有計劃中、考慮中和過去的變更。

遷移到 Vite 6

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

完整的變更列表請查閱 Vite 6 更新日誌

鳴謝

Vite 6 是我們的社群貢獻者、下游維護者、外掛作者和 Vite 團隊長時間努力工作的成果。我們感謝贊助 Vite 開發的個人和公司。Vite 由 VoidZeroStackBlitzNuxt LabsAstro 合作推出。特別鳴謝 Vite GitHub 贊助者Vite Open Collective 的贊助者們。