Vite 6.0 發佈!
2024 年 11 月 26 日
今天,我們在 Vite 的故事中邁出了又一大步。Vite 團隊、貢獻者和生態系統合作夥伴很高興宣佈 Vite 6 的發佈。
這一年發生了很多事情。自一年前 Vite 5 發佈以來,Vite 的採用率持續增長,每週 npm 下載量從 750 萬躍升至 1700 萬。Vitest 不僅越來越受使用者歡迎,也開始形成自己的生態系統。例如,Storybook 擁有由 Vitest 提供支援的新測試功能。
新的框架也加入了 Vite 生態系統,包括 TanStack Start、One、Ember 等。Web 框架的創新速度越來越快。您可以查看 Astro、Nuxt、SvelteKit、Solid Start、Qwik City、RedwoodJS、React Router 以及其他專案的改進。
Vite 被 OpenAI、Google、Apple、Microsoft、NASA、Shopify、Cloudflare、GitLab、Reddit、Linear 等眾多公司使用。兩個月前,我們開始列出 使用 Vite 的公司。我們很高興看到許多開發人員向我們發送 PR,將他們的公司添加到列表中。很難相信自 Vite 邁出第一步以來,我們共同建立的生態系統已經成長到如此程度。
加速 Vite 生態系統
上個月,社群聚集在一起參加第三屆 ViteConf,再次由 StackBlitz 主辦。這是規模最大的 Vite 會議,來自生態系統的建構者廣泛參與。在其他公告中,Evan You 宣佈了 VoidZero,一家致力於為 JavaScript 生態系統建構開源、高效能和統一開發工具鏈的公司。VoidZero 是 Rolldown 和 Oxc 的幕後推手,他們的團隊正在取得重大進展,讓它們迅速準備好被 Vite 採用。觀看 Evan 的主題演講,了解更多關於 Vite 以 Rust 為動力的未來下一步。
Stackblitz 發佈了 bolt.new,這是一個結合了 Claude 和 WebContainers 的 Remix 應用程式,可讓您提示、編輯、執行和部署完整的應用程式。Nate Weiner 宣佈了 One,一個新的 Vite 驅動的 React 框架,適用於網路和原生環境。Storybook 展示了他們最新的由 Vitest 驅動的 測試功能。還有更多。我們鼓勵您觀看全部 43 場演講。演講者們付出了巨大的努力,與我們分享每個專案的最新進展。
Vite 還獲得了全新的登陸頁面和一個乾淨的網域。您應該更新您的 URL,以指向新的 vite.dev 網域。新的設計和實作由 VoidZero 完成,與他們網站的製作團隊相同。感謝 Vicente Rodriguez 和 Simon Le Marchant。
下一個 Vite 主要版本已推出
Vite 6 是自 Vite 2 以來最重要的主要版本。我們渴望與生態系統合作,透過新的 API 並像往常一樣,透過更精進的基礎來擴展我們的共同領域。
快速連結
如果您是 Vite 的新手,我們建議您先閱讀入門和功能指南。
我們要感謝 超過 1 千名的 Vite Core 貢獻者,以及 Vite 外掛、整合、工具和翻譯的維護者和貢獻者,他們幫助我們打造了這個新的主要版本。我們邀請您加入並幫助我們為整個生態系統改進 Vite。在我們的 貢獻指南中了解更多資訊。
要開始使用,我們建議您幫助 分類問題、審查 PR、根據開放的問題發送失敗的測試 PR,並在 討論區 和 Vite Land 的 幫助論壇中支持他人。如果您想與我們交談,請加入我們的 Discord 社群,並在 #contributing 頻道上打聲招呼。
有關 Vite 生態系統和 Vite Core 的最新消息,請在 Bluesky、X 或 Mastodon 上關注我們。
Vite 6 入門
您可以使用 pnpm create vite
快速建立一個具有您首選框架的 Vite 應用程式,或使用 vite.new 在線上體驗 Vite 6。您也可以執行 pnpm create vite-extra
來存取來自其他框架和執行環境的範本(Solid、Deno、SSR 和函式庫啟動器)。當您在 Others
選項下執行 create vite
時,也會提供 create vite-extra
範本。
Vite 入門範本旨在作為測試 Vite 與不同框架的遊樂場。在建構下一個專案時,您應該使用每個框架推薦的啟動器。create vite
也提供了一些框架的啟動器設定捷徑,例如 create-vue
、Nuxt 3
、SvelteKit
、Remix
、Analog
和 Angular
。
Node.js 支援
Vite 6 支援 Node.js 18、20 和 22+,與 Vite 5 類似。已不再支援 Node.js 21。Vite 會在其 EOL 之後放棄對舊版本 Node.js 的支援。Node.js 18 的 EOL 在 2025 年 4 月底,之後我們可能會發佈一個新的主要版本以提高所需的 Node.js 版本。
實驗性環境 API
Vite 透過新的環境 API 變得更加靈活。這些新的 API 將允許框架作者提供更接近生產環境的開發體驗,並讓生態系統分享新的建構塊。如果您正在建構 SPA,則沒有任何變化;當您使用 Vite 與單一用戶端環境時,一切都像以前一樣運作。即使對於自訂 SSR 應用程式,Vite 6 也向下相容。環境 API 的主要目標對象是框架作者。
對於好奇的終端使用者,Sapphi 編寫了一份很棒的 環境 API 簡介 指南。這是一個很好的起點,可以了解我們為什麼要讓 Vite 變得更加靈活。
如果您是框架作者或 Vite 外掛維護者,並且想要利用新的 API,您可以在 環境 API 指南中了解更多資訊。
我們要感謝參與定義和實作新 API 的每個人。Anthony Fu 和 Pooya Parsa 製作了 vite-node,以使用 Vite 改進 Nuxt 的 Dev SSR 故事。然後 Anthony 使用 vite-node 來支援 Vitest,而 Vladimir Sheremet 則不斷改進它。在 2023 年初,Vladimir 開始將 vite-node 上游化到 Vite Core,並在一年後以 Vite 5.1 中的 Runtime API 發佈。來自生態系統合作夥伴的回饋(特別感謝 Cloudflare 團隊)促使我們對 Vite 的環境進行更雄心勃勃的改造。您可以在 Patak 的 ViteConf 24 演講中了解更多關於該故事的資訊。
Vite 團隊的每個人都參與了新 API 的定義,該 API 是在生態系統中許多專案的回饋下共同設計的。感謝所有參與者!如果您正在 Vite 之上建構框架、外掛或工具,我們鼓勵您參與其中。新的 API 具有實驗性。我們將與生態系統合作,審查新 API 的使用方式,並在下一個主要版本中使其穩定。如果您想提出問題或提供回饋,這裡有一個開放的 GitHub 討論。
主要變更
resolve.conditions
的預設值- JSON 字串化
- 擴充對 HTML 元素中資產參考的支援
- postcss-load-config
- Sass 現在預設使用現代 API
- 在函式庫模式中自訂 CSS 輸出檔案名稱
- 以及更多只會影響少數使用者的變更
還有一個新的 重大變更 頁面,列出了 Vite 中所有計畫中、考慮中和過去的變更。
遷移到 Vite 6
對於大多數專案而言,更新至 Vite 6 應該相當直接,但我們建議您在升級前先查閱詳細的遷移指南。
完整的變更列表請見Vite 6 更新日誌。
致謝
Vite 6 是由我們的貢獻者社群、下游維護者、外掛作者和 Vite 團隊長時間努力的成果。我們感謝贊助 Vite 開發的個人和公司。Vite 由 VoidZero 與 StackBlitz、Nuxt Labs 和 Astro 合作推出。特別感謝在 Vite 的 GitHub Sponsors 和 Vite 的 Open Collective 上的贊助者。