nuxt logo

ドキュメント翻訳(非公式)

サーバーエンジン

Nuxtは新しいサーバーエンジン:Nitroによって動作します。

Nuxtを構築する際に、新しいサーバーエンジンを作成しました:Nitro

多くの機能が搭載されています:

  • Node.js、ブラウザ、サービスワーカーなどのクロスプラットフォームサポート。
  • サーバーレスサポートが標準で提供。
  • APIルートのサポート。
  • 自動コード分割と非同期ロードチャンク。
  • 静的 + サーバーレスサイトのハイブリッドモード。
  • ホットモジュールリロードを備えた開発サーバー。

APIレイヤー

サーバーのAPIエンドポイントミドルウェアは、内部でh3を使用するNitroによって追加されます。

主な機能には以下が含まれます:

  • ハンドラーは自動的に処理されるJSONレスポンスのためにオブジェクト/配列を直接返すことができます
  • ハンドラーはプロミスを返すことができ、待機されます(res.end()next()もサポート)
  • ボディ解析、クッキー処理、リダイレクト、ヘッダーなどのためのヘルパー関数

詳細はh3のドキュメントを参照してください。

こちらも参照 guide > directory-structure > server#server-routes

直接APIコール

Nitroは、グローバルに利用可能な$fetchヘルパーを介してルートを「直接」呼び出すことを可能にします。ブラウザで実行される場合はサーバーへのAPIコールを行いますが、サーバーで実行される場合は関連する関数を直接呼び出し、追加のAPIコールを節約します。

$fetch APIはofetchを使用しており、主な機能には以下が含まれます:

  • JSONレスポンスの自動解析(必要に応じて生のレスポンスへのアクセスも可能)
  • リクエストボディとパラメータは自動的に処理され、正しいContent-Typeヘッダーが設定されます

$fetchの機能についての詳細はofetchを参照してください。

型付きAPIルート

APIルート(またはミドルウェア)を使用する際、Nitroはレスポンスを送信するためにres.end()を使用するのではなく、値を返す限り、これらのルートの型を生成します。

これらの型は$fetch()またはuseFetch()を使用する際にアクセスできます。

スタンドアロンサーバー

Nitroはnode_modulesに依存しないスタンドアロンのサーバーdistを生成します。

Nuxt 2のサーバーはスタンドアロンではなく、nuxt startを実行することでNuxtコアの一部を関与させる必要があります(nuxt-startまたはnuxtのディストリビューションを使用)またはカスタムプログラムの使用が必要で、これは脆弱で壊れやすく、サーバーレスやサービスワーカー環境には適していません。

Nuxtはnuxt buildを実行する際にこのdistを.outputディレクトリに生成します。

この出力には、任意の環境(実験的なブラウザサービスワーカーを含む)でNuxtサーバーを実行し、静的ファイルを提供するためのランタイムコードが含まれており、JAMstackのための真のハイブリッドフレームワークとなっています。さらに、Nuxtはマルチソースドライバーとローカルアセットをサポートするネイティブストレージレイヤーを実装しています。

こちらも参照 github.com > nitrojs > nitro