今天,Vite 邁出了發展歷程重要的一步。Vite 團隊、貢獻者和生態系統合作夥伴很高興地宣布,Vite 6 正式發布。
Vite 里程碑回顧
- Vite 2.0:2021年2月發布,Vite 的一個重要轉折點,它去除了打包步驟,實現了快速的冷啟動,並提供了及時的模塊熱更新和真正的按需編譯。
- Vite 4.3:2023年4月發布,主要改進了devServer的性能,簡化了解析邏輯,優化了熱路徑,並對查找package.JSON、TS配置文件和一般解析URL實現了更智能的緩存。
- Vite 4.4:2023年7月發布,版本開始支持 Lightning CSS,這是一個用 Rust 編寫的極快的 CSS 解析器、轉換器和壓縮器,提供了更快的 CSS 處理速度和更小的輸出文件大小。
- Vite 5.0:Vite 發展道路上的又一個重要里程碑。Vite 現在使用 Rollup 4,這已經大大提升了構建性能。此外,還有新的選項可用於提高開發伺服器的性能。
- 2024年09月05日, Vite 又迎來了一個新的里程碑,貢獻者人數突破1000人。
- Vite 6.0:Vite 發展道路上的又一個重要里程碑。
Vite 6.0
過去一年中,Vite 的採用率持續增長,自 Vite 5 發布以來,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 生態系統
上個月,社區齊聚一堂,參加了由 StackBlitz 再次主辦的第三屆 ViteConf。這是最大規模的 Vite 會議,生態系統中的建設者們廣泛參與。Evan You 官宣了 VoidZero,一家致力於為 JavaScript 生態系統構建開源、高性能和統一開發工具鏈的公司。VoidZero 推出了 Rolldown 和 Oxc,他們的團隊正在快速準備這些工具以供 Vite 採用。觀看 Evan 的主題演講以了解 Vite 使用 Rust 驅動未來的下一步計劃。
Stackblitz 推出了 bolt.new,這是一個結合了 Claude 和 WebContainers 的 Remix 應用,允許你使用提示語、編輯、運行和部署全棧應用。Nate Weiner 宣布了 One,一個新的 Vite 驅動的 Web 和原生 React 框架。Storybook 展示了他們最新由 Vitest 驅動的 測試功能。還有更多精彩內容。我們建議你觀看 全部 43 場演講。演講者們付出了巨大努力,分享了每個項目的最新進展。
Vite 還更新了主頁和域名。你應該更新你的 URL,以指向新的 vite.dev 域名。新設計和實現由 VoidZero 完成,正是他們製作了自己的網站。特別感謝 Vicente Rodriguez 和 Simon Le Marchant。
Vite 6 的到來
Vite 6 是自 Vite 2 以來最重要的主要版本發布。我們渴望與生態系統合作,通過新的 API 繼續擴展我們的共享資源,並一如既往地提供一個更完善的構建基礎。
快速鏈接:
- 英文文檔
- 翻譯版本:簡體中文、日本語、Español、Português、한국어、Deutsch
- 遷移指南
- GitHub 更新日誌
如果你是 Vite 的新用戶,我們建議首先閱讀 入門指南 和 功能介紹 部分。
我們要感謝超過 1000 位 Vite Core 貢獻者 以及 Vite 插件、集成、工具和翻譯的維護者和貢獻者,他們幫助我們打造了這個新的主要版本。我們也邀請你參與進來,幫助我們改進整個生態系統的 Vite。了解更多信息,請參閱我們的 貢獻指南。
如果準備開始的話,我們建議可以幫助 分類問題、審查 PR、根據開放問題發送失敗的測試 PR,並在討論 和 Vite Land 的 幫助論壇 中幫助他人。如果你想與我們交流,請加入我們的 Discord 社區 並在 #貢獻頻道 中打個招呼。
有關 Vite 生態系統和 Vite Core 的最新消息,請關注我們的 Bluesky、X 或 Mastodon。
開始使用 Vite 6
你可以使用 pnpm create vite 快速搭建一個 Vite 應用,使用你喜歡的框架,或在線體驗 Vite 6,訪問 vite.new。你還可以運行 pnpm create vite-extra 以獲取其他框架和運行時(Solid、Deno、SSR 和庫起始模板)的模板。當你在 create vite 下選擇 Others 選項時,也可以使用 create vite-extra 模板。
Vite 啟動模板旨在作為測試 Vite 與不同框架結合的演練場。在構建下一個項目時,你可以試著使用每個框架推薦的啟動模板。create vite 還提供了一些框架的快捷設置,如 create-vue、Nuxt 3、SvelteKit、Remix、Analog 和 Angular。
Node.js 支持
Vite 6 與 Vite 5 類似,支持 Node.js 18、20 和 22+。Node.js 21 的支持已被移除。Vite 在舊版本的 Node.js 生命周期終止 (EOL)後停止支持。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 開發 SSR 的故事。Anthony 之後使用 vite-node 為 Vitest 提供支持,Vladimir Sheremet 不斷改進它。2023 年初,Vladimir 開始將 vite-node 合併到 Vite Core 中,一年後我們將其作為 Vite 5.1 的運行時 API(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 贊助者 和 Vite 的 Open Collective 上的贊助者。
更多閱讀:https://vite.dev/blog/announcing-vite6