Nuxt Nation カンファレンスが開催されます。11月12~13日にぜひご参加ください。
リリース・  

Nuxt 3.14

Nuxt 3.14 がリリースされました - 新しい rspack ビルダー、共有フォルダ、パフォーマンスの強化が含まれています!

舞台裏では、Nuxt v4 のリリース(特に Nitro v3 の準備を含む unjs 側)に向けて多くのことが進められてきました!

⚡️ jiti による高速な起動

nuxt 設定ファイル、モジュール、その他のビルド時コードの読み込みは、jiti v2 によって処理されるようになりました。jiti v2 リリースノートで詳細をご確認いただけますが、最も重要な点は、ネイティブな Node ESM インポート(可能な場合)であり、起動が高速化されるはずです。✨

📂 クライアント/サーバー間で共有されるコードと型のための共有フォルダ

Vue アプリのコードを nitro コードにインポートしたり、その逆を行ったりすることは絶対に避けるべきです。しかし、これは nitro/vue コンテキストに依存しない型やユーティリティを共有する際の摩擦点となっていました。

このために、新しい shared/ フォルダ (#28682) が追加されました。このフォルダ内のファイルに Vue や nitro コードをインポートすることはできませんが、アプリ全体で使用できる自動インポートが生成されます。

必要な場合は、このフォルダを指す新しい #shared エイリアスを使用できます。

共有フォルダは、server/ フォルダの横にあります。(compatibilityVersion: 4 を使用している場合、これは app/ フォルダ内にはありません。)

🦀 rspack ビルダー

rspack 用の新しいファーストクラスの Nuxt ビルダーを発表できることを嬉しく思います。まだ実験段階ですが、これを実現するために、内部の Nuxt 仮想ファイルシステムを unplugin を使用するようにリファクタリングしました。

気に入っていただけたらお知らせください。また、発生した問題があればお気軽にご報告ください。

👉 お試しいただくには、このスターターをご利用いただくか、@nuxt/rspack-builder をインストールし、nuxt 設定ファイルで builder: 'rspack' を設定してください。

✨ 新しい composables

新しい useResponseHeader および useRuntimeHook composables が追加されました (#27131 および #29741)。

🔧 新しいモジュールユーティリティ

nitro ランタイムルート内からアクセスするための仮想ファイルを追加するための新しい addServerTemplate ユーティリティ (#29320) が追加されました。

🚧 v4 の変更点

compatibilityVersion: 4 の場合にのみ有効になるいくつかの変更をマージしましたが、早期にオプトインすることもできます。

  1. 以前は、~/components/App/Header.vue のようなコンポーネントがある場合、devtools には <Header> として表示されていました。v4 からは、これを <AppHeader> にすることを保証しますが、手動で実装した <KeepAlive> を壊さないようにオプトイン制にしています。( #28745)。
  2. Nuxt は pages:extend を呼び出す前にファイルからページメタデータをスキャンします。しかし、これにより、この時点で追加されたページはページメタデータが尊重されないという、混乱を招くような動作が発生していました。そこで、pages:extend を呼び出す前にメタデータをスキャンしないようにしました。代わりに、pages:extend の後、すべてのページがメタデータで拡張された後に呼び出される新しい pages:resolved フックを用意しました。experimental.scanPageMetaafter-resolve に設定して、これにオプトインすることをお勧めします。これにより、多くのバグが解決されます。

🗺️ v3.15 へのロードマップ

v3.14 に間に合いませんでしたが、次のマイナーリリースでは(とりわけ)以下が期待できます。

  • モジュールからの自動インポートされたディレクティブ (#29203)
  • 「分離された」ページレンダリング (#29366)
  • 遅延ハイドレーション (#26468)

✅ アップグレード

通常どおり、アップグレードには次のコマンドを実行することをお勧めします。

npx nuxi@latest upgrade --force

これにより、ロックファイルも更新され、Nuxt が依存している他の依存関係(特に unjs エコシステム)からの更新が確実に取得されます。

完全なリリースノート

Nuxt v3.14.0 の完全なリリースノートをお読みください。

このリリースにご参加いただいた皆様に心より感謝申し上げます。次のリリースに向けてエキサイティングなことを企画しています! ❤️

フィードバックや問題があれば、遠慮なくお知らせください! 🙏

← ブログに戻る