nuxt logo

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

Nuxt.js
Version:v3.17

サーバーエンジン

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 startnuxt-startまたはnuxtディストリビューションを使用)を実行することでNuxtコアの一部を関与させる必要があり、これは脆弱で壊れやすく、サーバーレスやサービスワーカー環境には適していません。

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

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

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