リリース·  

Nuxt 3.14

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

ダニエル・ロー

@danielroe.dev

舞台裏では、Nuxt v4のリリースに向けて多くの準備が進められていました(特にunjs側ではNitro v3の準備が行われました)。

⚡️ jitiによるより高速な起動

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

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

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

この問題に対し、新しいshared/フォルダー(#28682)を導入しました。このフォルダー内のファイルにはVueやNitroのコードをインポートすることはできませんが、自動インポート(compatibilityVersion: 4を使用している場合)を生成し、アプリの他の部分全体で利用できます。

必要に応じて、このフォルダーを指す新しい#sharedエイリアスを使用できます。

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

🦀 rspackビルダー

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

気に入っていただけたら、ぜひご意見をお聞かせください。また、何か問題が発生した場合は、遠慮なく報告してください。

👉 試すには、このスターターを使用するか、単に@nuxt/rspack-builderをインストールし、Nuxt設定ファイルでbuilder: 'rspack'を設定するだけです。

✨ 新しいコンポーザブル

新しいuseResponseHeaderおよびuseRuntimeHookコンポーザブル(#27131GlobalComponents#29741).

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

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

🚧 v4への変更

compatibilityVersion: 4でのみ有効な変更がいくつかマージされましたが、早期にオプトインできます

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

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

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

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

✅ アップグレード

いつものように、アップグレードには以下を実行することをお勧めします。

npx nuxi@latest upgrade --force

これにより、ロックファイルも更新され、Nuxt が依存する他の依存関係、特に unjs エコシステムからの更新が取り込まれることが保証されます。

完全なリリースノート

Nuxt v3.14.0の完全なリリースノートを読む。

今回のリリースにご協力いただいた皆様に心より感謝申し上げます。次回のリリースでは、さらにエキサイティングな機能をご用意しています!❤️

フィードバックや問題がありましたら、お気軽にお知らせください! 🙏