觀點 · 資訊分享

Nuxt 4.5 釋出:換上 Vite 8、新增實驗性 SSR 串流,Nuxt 3 預計 7 月 31 日結束維護

Nuxt 4.5.0 把底層升到 Vite 8 與 Rspack 2,加入實驗性的 SSR 串流、穩定錯誤碼與 useLayout 等新功能。官方同時提醒 Nuxt 3 將在 2026 年 7 月 31 日結束維護,還沒搬的人該動手了。

發布
2026-07-19
篇幅
約 4 分鐘 · 1,739 字
結構
7 節 + 3 題常見問題
標籤
#Nuxt#Nuxt 4.5#Vite 8#SSR 串流#Nuxt 3 終止支援
Nuxt 4.5 釋出:換上 Vite 8、新增實驗性 SSR 串流,Nuxt 3 預計 7 月 31 日結束維護

一句話看懂:Nuxt 4.5.0 把底層換成 Vite 8 與 Rspack 2,加入實驗性的 SSR 串流和一批新功能;官方同時提醒,Nuxt 3 會在 2026 年 7 月 31 日結束維護。

Nuxt 4.5:Vite 8 與 SSR 串流資訊圖卡:Nuxt 換上 Vite 8,新增實驗性 SSR 串流,也為 Nuxt 5 鋪路

先用白話講:Nuxt 與 SSR 串流是什麼?

Nuxt 是用 Vue 做網站的框架,很多網站會用它做「伺服器端渲染(SSR)」:訪客打開網頁時,伺服器先把頁面組好再送出去,搜尋引擎和首次載入都比較友善。

傳統做法像餐廳「整桌菜都做完才一次上桌」;SSR 串流則像「先上筷子、餐巾和前菜,其他菜邊做邊送」。訪客更早看到東西,等待感比較短。

發生什麼事

根據 Nuxt 官方 GitHub 的 v4.5.0 發行說明(釋出時間為 2026-07-18 UTC,台灣已是 7 月 19 日):

  • 底層升級:Nuxt 換到 Vite 8,Rspack 建置器升到 Rspack 2,並改用 Rsbuild 重建
  • 為 Nuxt 5 鋪路:升級了好幾個核心依賴(unhead v3、unctx v3、Vite 8),讓 v4 與 v5 的差距縮小,官方說目標是讓之後的遷移「盡量無聊」。想先體驗 v5 的破壞性改動,可以設定 future.compatibilityVersion: 5
  • Nuxt 3 結束維護:官方寫明 Nuxt 3 將在 2026 年 7 月 31 日結束維護。同時釋出 3.x 的維護版 3.21.9,把相容的修正移植過去;Vite 8、Rspack 2 等大升級只留在 v4

這版有哪些新東西?

項目 說明
實驗性 SSR 串流 先送出頁首外殼,再邊渲染邊送內容,預設關閉
穩定錯誤碼 警告與錯誤附上固定代碼(如 NUXT_E1001)、原因與修法
useLayout 取得目前路由實際使用的版面
命名視圖 用 [email protected] 這種檔名,讓同一頁渲染多個出口
enabled 選項 讓 useFetch、useAsyncData 在條件符合時才發請求
追蹤通道 發出 SSR 事件的診斷追蹤,方便接 OpenTelemetry

給開發者的技術細節

開啟 SSR 串流:

// nuxt.config.ts
export default defineNuxtConfig({
  experimental: {
    ssrStreaming: true,
  },
})
  • 官方說機器人與爬蟲會自動關閉串流,搜尋引擎仍收到完整 HTML,也可用 botRegex 調整,或在 routeRules 對特定路由設 streaming: false
  • 要特別注意:串流在第一個位元組就送出 HTTP 狀態與標頭,之後才修改回應(例如在元件裡呼叫 setResponseStatus()、在中介層寫 cookie)就送不到客戶端了。有 redirect、cache、isr、swr、noScripts、ssr: false 規則的路由會自動退回一般渲染,開發模式也會警告被丟掉的修改
  • 官方明講這是實驗性、預設關閉,建議先在自己的程式測試狀態碼、標頭與 cookie 的邏輯

enabled 用法:

<script setup lang="ts">
const query = ref('')
const { data } = await useFetch('/api/search', {
  query: { q: query },
  enabled: () => query.value.length > 2,
})
</script>

升級前的三個提醒(官方列出):Vite 8 要對照遷移指南檢查自訂外掛;Rspack 2 的內部改成 Rsbuild,自訂 Rspack 設定要檢查;unhead v3 的 useHead 型別更嚴格,可能出現型別錯誤。升級指令是:

npx nuxt upgrade --dedupe

我的看法

這一版對我影響最大的有兩點。第一,Nuxt 3 的結束日期就在不到兩週後,如果客戶的案子還跑在 Nuxt 3,這是該排進維運清單的事,不是「有空再說」。官方也說多數人覺得 v3 到 v4 很順,但每個專案的外掛與模組狀況不同,還是要自己測。

第二,SSR 串流很吸引人,但有 cookie、登入、狀態碼處理的網站,要先確認那些邏輯不會被「第一個位元組就送出標頭」影響。我的建議是先在測試環境、針對單純的內容頁開,不要全站一次打開。

名詞小辭典

  • SSR(伺服器端渲染):在伺服器先把網頁內容組好再送給瀏覽器,而不是只送一個空殼讓瀏覽器自己組。
  • TTFB(首個位元組時間):從發出請求到收到第一個位元組的時間,越短代表伺服器回應越快。
  • Vite:前端的開發與建置工具,Nuxt 預設用它來啟動開發伺服器與打包。
  • 結束維護(End-of-life):官方不再提供更新與修正的日期,之後出問題只能靠自己。

資料來源

常見問題

Nuxt 4.5 一定要升嗎?
不一定。對大多數應用官方說這是透明的升級,但有自訂 Vite 外掛或設定、或用到 useHead 型別的人,要先對照 Vite 8 遷移指南並測試。升級建議用 npx nuxt upgrade --dedupe。
SSR 串流是什麼?
原本伺服器要把整頁都渲染完才一次送出;串流則先立刻送出頁首的外殼(head、樣式、預載提示與入口腳本),再邊渲染邊把內容送出去,目標是縮短首個位元組的等待時間。這個功能目前是實驗性,預設關閉。
還在用 Nuxt 3 怎麼辦?
官方說 Nuxt 3 會在 2026 年 7 月 31 日結束維護,建議搬到 Nuxt 4,並說多數人反映 v3 到 v4 的升級很順,官方也維持更新升級指南。
LINE