🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

======================================

大家好,我是 Sunday。

昨天很多人還在聊 AI,今天前端圈又有一發大的。

Vite 8,正式發佈了。

尤雨溪表示這次升級是 Vite 2 以來最重要的一次架構變化。特別是在 生產環節

Vite 8 這次升級最重要的是什麼?

總結一句話:Vite 8 這次升級最重要:是工具鏈統一。

熟悉 Vite 的同學都知道,Vite 之前一直是「開發走 esbuild、生產走 Rollup」,這導致生產環境下的打包非常慢。但這次 Vite 8 的更新,底層全部統一成了 基於 Rolldown 的單一 Rust 打包器。官方給出的數據是,建構速度最高可達 10~30 倍提升

Rolldown 是 VoidZero 團隊開發的 Rust 打包器。

它的特點可以理解為:

  1. 效能高
  2. 相容 Rollup/Vite 的外掛生態系
  3. 開啟過去雙引擎架構做不到的一些能力,例如更靈活的 chunk 切分、持久化快取、模組聯邦(Module Federation)等。

而且最重要的是 Rolldown 是尤雨溪本家所推動的……

所以,Vite 底層徹底統一成 Rolldown,也可以理解為尤雨溪真正開始在構建一個統一的前端建構底座。

另外,我覺得官方在這次發佈裡提到兩件事,挺有意思的。

  • 第一件事是:Vite 現在每週下載量已經到達 6500 萬次
  • 第二件事是:他們上線了一個新的 外掛註冊中心(plugin registry),也就是 registry.vite.dev,用來集中檢索 Vite、Rolldown、Rollup 的外掛生態,並且每天從 npm 拉取資料更新。就是下面這個東西

這兩個資訊放在一起看,味道就很明顯了。以前我們說 Vite 火,是因為它是「一個流行的工具」。

現在再看,Vite 已經越來越像一個:以 Vite 為入口、Rolldown 為打包器、Oxc 為編譯器的統一工具鏈生態。

這也是官方在文中講的 “Unified Toolchain”。

這個詞很值錢。

因為當一個工具開始形成統一底座,它後面就不再只是和 Webpack、Rspack、Parcel 這些工具橫向競爭了。它是在爭「生態入口」。

誰掌握入口,誰就更容易掌握外掛規範、能力邊界、生態擴張速度,甚至未來 AI 協助開發場景下的開發工作流介面。

Vite 8 新增了哪些實用功能?

除了底層換成 Rolldown,這次還有幾項非常值得關注的功能。

1、內建 Devtools 支援

Vite 8 提供了 devtools 設定項,用來啟用 Vite Devtools。官方文件裡標註這項能力目前是 experimental(實驗性),預設關閉,而且當前只支援 build 模式

2、瀏覽器 console 可以直通終端機了

這個功能特別有趣。

Vite 8 新增了 server.forwardConsole,可以把瀏覽器執行時的 console 日誌和未處理錯誤,直接轉發到 Vite 服務端的終端機。

更有意思的是:當偵測到 AI 編碼代理時,這個功能會自動開啟!

真是與時俱進啊……尤雨溪已經開始為 AI 輔助開發的場景做適配了。

3、原生支援 tsconfig paths

以前很多專案會使用像 vite-tsconfig-paths 之類的外掛。現在 Vite 8 提供了 resolve.tsconfigPaths,設為 true 就能直接讀取 tsconfig.json 裡的 paths 來解析別名。預設值是 false

這個改動對很多團隊來說很實用,特別是 Monorepo 或路徑別名較多的專案。

import { defineConfig } from 'vite'

export default defineConfig({
  resolve: {
    tsconfigPaths: true,
  },
})

但這裡也要注意,官方文件明確提醒:這個能力有效能成本。 所以不是「能開就開」,要視專案情況決定。

4、emitDecoratorMetadata 內建支援

Vite 8 增加了對 TypeScript emitDecoratorMetadata 的內建自動支援。

不過官方文件也寫得很清楚:這是部分支援,因為完整支援需要依賴 TypeScript 編譯器的型別推斷,而這部分目前並不支援。

5、Wasm SSR 支援補齊

官方提到,.wasm?init 現在可以在 SSR 環境裡運作。

這對一般業務方向的同學可能感受不強,但對一些重性能或偏底層能力的場景是好事,例如:

  • 圖像處理
  • 音視訊處理
  • 高效能資料計算
  • 編輯器類產品
  • 某些 AI 前端推理場景

React 使用者也得看:@vitejs/plugin-react v6 一起發布了

這次 Vite 8 發佈的同時,@vitejs/plugin-react v6 也一併發佈了。官方提到:

  • React Refresh 轉換現在由 Oxc 處理
  • Babel 不再是該外掛的依賴
  • 安裝體積更小
  • 如果你仍然需要 Babel,可以自己引入 @rolldown/plugin-babel
  • 如果你需要 React Compiler,可以搭配 reactCompilerPreset 使用

這意味著 React 專案升級到 Vite 8 之後,預設的處理鏈路會更輕量。

但同時也表示:你以前把 Babel 相關能力直接塞進 plugin-react 配置裡的寫法,得開始調整了。

官方給的遷移思路

Vite 官方對這次升級的遷移方案:

其中最重要的一點是:

對於複雜專案,可以先在 Vite 7 下切換到 rolldown-vite,把問題先隔離在「Rolldown 相容性」層面,再升級到 Vite 8。這樣更容易分清問題到底是來自打包器(bundler)變動,還是來自 Vite 8 其他變化所導致的。

寫在最後

最後幫大家總結一下 Vite 的關鍵更新,不需要 @元寶 再總結了😂

這次更新總結如下,同時如果你在最近的面試中遇到 Vite 8 的問題,也可以直接說明:

Vite 8 最大的變化不是某個 API,而是底層從過去開發依賴 esbuild、生產依賴 Rollup 的雙引擎模式,切換到以 Rolldown 為核心的統一打包器架構。

這樣做的價值主要有三點:

  • 第一是建構效能提升
  • 第二是減少開發與生產鏈路不一致
  • 第三是為後續更強的快取、分包、及生態能力打基礎。

與此同時,Vite 8 也補充了 tsconfig paths、console 轉發、Wasm SSR、React 外掛輕量化等能力,但升級時仍要重點關注 Node 版本、Babel 自訂與裝飾器相關的相容性。

最後,再補充一點,那就是:

Vite 8 終於開始把前端建構這件事,從多個工具拼湊起來的解法,變成了一个 統一底座且可以持續升級 的工具鏈。

未來的前端工具鏈,拼的不只是速度,而是誰能把打包器、編譯器、外掛生態、開發體驗,甚至在 AI 協助開發場景下的除錯鏈路,真正統一起來。

從這個角度看,Vite 8 不是一次普通的升級。它更像是一個訊號:


原文出處:https://juejin.cn/post/7616264948046397440


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝23   💬8   ❤️1
581
🥈
我愛JS
📝1   💬6  
36
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付