Nuxt 4.6は10月5日に公開されたマイナーリリースで、同日にCLIのメジャー版@nuxt/cli v4も入る。中心は、サーバー側を特定のエンジンに縛らないことだ。これまでサーバーコードや型がh3とNitroに直結し、それらのメジャー更新がエコシステム全体へ波及していた。
新しいnuxt/serverは、ハンドラ、ミドルウェア、リクエストの補助関数をまとめたimport元だ。イベントはWeb標準のRequestとURL、ヘッダーに寄せ、既定の実装はこれまで通りNitroのまま動く。同じハンドラをNitro v2、Nitro v3、実験的な@nuxt/vite-serverで動かす狙いがある。Nuxt 5とNitro v3への移行を滑らかにするためで、チームは大半のアプリはNitroのままでよいとしている。このリリース自体に移行の義務はない。h3からの直接importも残る。
注意点は、自動importされるdefineEventHandlerなどが従来のh3のままであることだ。nuxt/serverと混ぜるとNUXT_E8012になる。CLI v4はNode.js 22.21以降、24.11以降、または26以降が必要で、nuxt initはなくなりnpm create nuxt@latestだけになる。Nuxt 2と@nuxt/bridgeは対象外。計測ではCLIのインストールサイズが13.1MBから3.5MB、nuxt devの初回表示が330ミリ秒から50ミリ秒、待機時メモリが630MBから440MBになった。
型付き$fetchも作り直され、ルート300件でTypeScriptのインスタンス化が約577万回・3.49秒かつTS2589だったものが、約5.2万回・0.16秒になった。サーバーをNuxt 5へ先に寄せるならnuxt/serverへ寄せ、急がないならNitroのままバージョン下限だけ合わせればよい。