Nuxt Nationカンファレンスが開催されます。11月12日~13日にお越しください。

概要

Nuxt 3との違いを減らし、Nuxt 3への移行の負担を軽減します。
新しいNuxt 3プロジェクトを開始する場合は、このセクションをスキップしてNuxt 3のインストールに進んでください。
Nuxt Bridgeは、Nuxtモジュールをインストールして有効にするだけで、多くの新しいNuxt 3機能を体験できる、前方互換性レイヤーです(ドキュメント)。ただし、useAsyncDatauseFetchコンポーザブルは利用できないなど、いくつかの制限があります。詳細は、このページの残りの部分をお読みください。

Bridgeは、Nuxtモジュールをインストールして有効にするだけで、多くの新しいNuxt 3機能を体験できる前方互換性レイヤーです。

Nuxt Bridgeを使用すると、プロジェクトが(ほぼ)Nuxt 3の準備ができていることを確認し、Nuxt 3への移行を段階的に進めることができます。

最初のステップ

Nuxt 2のアップグレード

開発サーバー(nuxt dev)が実行されていないことを確認し、パッケージロックファイル(package-lock.jsonyarn.lock)を削除し、最新のNuxt 2バージョンをインストールします

package.json
- "nuxt": "^2.16.3"
+ "nuxt": "^2.17.3"

次に、依存関係を再インストールします

npm install
インストールが完了したら、開発ビルドと本番ビルドの両方が期待通りに動作することを確認してから続行してください。

Nuxt Bridgeのインストール

@nuxt/bridgenuxiを開発依存関係としてインストールします

npm install -D @nuxt/bridge nuxi

nuxt.configの更新

設定ファイルでmodule.exportsrequire、またはrequire.resolveなどのCommonJS構文を使用しないようにしてください。これらはまもなく非推奨になり、サポートされなくなります。

代わりに、静的import、動的import()export defaultを使用できます。 nuxt.config.tsに名前を変更してTypeScriptを使用することも可能で、推奨されます。

nuxt.config.ts
import { defineNuxtConfig } from '@nuxt/bridge'

export default defineNuxtConfig({
  bridge: false
})

コマンドの更新

nuxtコマンドは、nuxt2コマンドに変更する必要があります。

{
  "scripts": {
-   "dev": "nuxt",
+   "dev": "nuxt2",
-   "build": "nuxt build",
+   "build": "nuxt2 build",
-   "start": "nuxt start",
+   "start": "nuxt2 start"
  }
}

ここでnuxt2を実行してみてください。アプリケーションは以前と同様に動作します。

('bridge'がfalseに設定されている場合、アプリケーションは以前と同様に変更なしで動作します。)

アップグレード手順

Nuxt Bridgeを使用すると、Nuxt 3への移行を段階的に進めることができます。以下のアップグレード手順をすべて一度に行う必要はありません。

CommonJSからESMへの移行

Nuxt 3はTypeScriptとECMAScript Modulesをネイティブにサポートしています。詳細とアップグレードについては、ネイティブESモジュールを確認してください。