🐣 全新的 CLI
我們使用unjs/citty重構了 nuxi
,這是第一個依賴於新版本 Nuxt 的版本,安全地位於其自己的儲存庫中。我們對此有宏偉的計劃——請檢視以下連結中的一些功能 + 路線圖討論nuxt/cli並隨時貢獻!
Nuxi 現在與主 nuxt
版本解耦——我們計劃未來更快地迭代和釋出 nuxi,因此您可以期待新功能即將推出!
Response
🕸️ 原生 Web Streams 和
隨著unjs/h3等等unjs/nitro的改進,現在可以直接從伺服器路由返回 Response
物件,這意味著在 Nuxt 中原生返回和處理流成為可能。
👉 請檢視unjs/h3等等unjs/nitro發行說明
中的完整詳細資訊。
🔥 HTML 渲染最佳化#22179)中管理它們的 HTML 渲染,這意味著您可以配置 <link>
、<meta>
、<script>
、<style>
等的**順序**。而且——在我們的初步測試中——它甚至更快了!
可以透過 experimental.headNext
標誌選擇加入未來的頭部改進。這目前包括基於capo.js (#22431()的新排序演算法,並允許在 unhead
釋出時啟用未來的最佳化
export default defineNuxtConfig({
experimental: {
headNext: true
}
})
我們很想聽聽您的想法——您可以在此討論.
中回覆任何問題/反饋。
🛠️ 構建環境快捷方式#22302)或 webpack 客戶端/伺服器(#22304)構建的配置。以前這隻能透過 vite:extendConfig
和 webpack:config
鉤子實現。
例如
export default defineNuxtConfig({
vite: {
$client: {
build: {
rollupOptions: {
output: {
chunkFileNames: '_nuxt/[hash].js',
assetFileNames: '_nuxt/[hash][extname]',
entryFileNames: '_nuxt/[hash].js'
}
}
}
}
}
})
⚡️ Vite 4.4
我們選擇不將 Vite 限制在次要版本,這意味著無論何時 Vite 釋出新功能版本,您都可以立即選擇加入。Vite 4.4 帶來了許多令人興奮的功能,包括實驗性的 Lightning CSS 支援——以及更多!
👉 檢視Vite 發行說明瞭解更多。
💪 TypeScript 更新
我們現在在生成的 tsconfig.json
中純粹使用相對路徑,而不是設定 baseUrl
。這意味著更好地支援像 docker 映象這樣的開發環境,其中絕對路徑可能與您的 IDE 不匹配(#22410).
我們還設定了一些額外的編譯器標誌預設值以匹配 Vite/TS 建議(#22468).
此外,您現在應該可以在 setPageLayout
和 <NuxtLayout name>
中獲取佈局的型別提示訪問(#22363).
🦄 非同步上下文支援
如果您曾遇到“Nuxt context unavailable”問題,這可能是為您準備的。我們現在在 Nuxt 和 Nitro 中都支援 Bun 和 Node 的原生非同步上下文,透過實驗性標誌啟用(#20918).
這使得在伺服器上使用 Nuxt 可組合函式**無需**確保它們直接在設定函式中被呼叫。它還允許在 Nitro 中實現相同的效果,其中包含一個新的 useEvent()
實用工具,可在伺服器路由中使用。
要試用它,您可以啟用 experimental.asyncContext
export default defineNuxtConfig({
experimental: {
asyncContext: true
}
})
👓 觀察器更新
我們修復了一些觀察器問題,這意味著您應該更少地需要重新啟動伺服器——如果您正在使用層,您應該會看到顯著的效能提升。
⚗️ Nitro 2.6
Nitro 2.6 帶來了更多令人興奮的功能,包括更小、更輕量的伺服器以及在 .data
目錄中新的持久資料儲存。
👉 在完整發行文章.
✅ 升級
像往常一樣,我們建議您執行以下命令進行升級
npx nuxi upgrade --force
中閱讀更多。這將重新整理您的鎖檔案,並確保您從 Nuxt 依賴的其他依賴項中拉取更新,尤其是在unjs生態系統中。