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

サーバー

Nuxtのサーバーフレームワークを使用して、フルスタックアプリケーションを構築します。データベースや他のサーバーからのデータフェッチ、APIの作成、サイトマップやRSSフィードなどの静的サーバーサイドコンテンツの生成 - すべて単一のコードベースから行うことができます。
ドキュメント > ガイド > ディレクトリ構造 > サーバーで詳細をご覧ください。

Nitro搭載

Server engine

NuxtのサーバーはNitroです。元々はNuxtのために作成されましたが、現在はUnJSの一部となり、他のフレームワークでも使用でき、単独で使用することもできます。

Nitroを使用することで、Nuxtは強力な機能を手に入れます

  • アプリケーションのサーバーサイド部分を完全に制御
  • あらゆるプロバイダーへのユニバーサルデプロイ(多くの場合、ゼロコンフィグ)
  • ハイブリッドレンダリング

Nitroは内部でh3を使用しています。これは、高性能と移植性のために構築された最小限のH(TTP)フレームワークです。

Alexander Lichter氏のビデオを見て、アプリケーションにおけるNuxtとNitroの役割を理解しましょう。

サーバーエンドポイントとミドルウェア

APIエンドポイントからミドルウェアまで、Nuxtアプリのサーバー専用部分を簡単に管理できます。

エンドポイントとミドルウェアはどちらも次のように定義できます

server/api/test.ts
export default 
defineEventHandler
(async (
event
) => {
// ... Do whatever you want here })

そして、textjsonhtml、さらにはstreamを直接返すことができます。

Nuxtアプリケーションの他の部分と同様に、ホットモジュールリプレースメント自動インポートを標準でサポートしています。

ドキュメント > ガイド > ディレクトリ構造 > サーバーで詳細をご覧ください。

ユニバーサルデプロイ

Nitroは、ベアメタルサーバーからエッジネットワークまで、わずか数ミリ秒の起動時間で、Nuxtアプリをどこにでもデプロイする機能を提供します。これは高速です!

ブログ > エッジでのNuxtで詳細をご覧ください。

さまざまなクラウドプロバイダーとサーバー用にNuxtアプリを構築するための15以上のプリセットがあります。以下はその一部です。

または、他のランタイム向け

Deno

Bun

ドキュメント > 入門 > デプロイで詳細をご覧ください。

ハイブリッドレンダリング

Nitroには、routeRulesと呼ばれる強力な機能があり、Nuxtアプリの各ルートのレンダリング方法(など)をカスタマイズするための一連のルールを定義できます。

nuxt.config.ts
export default 
defineNuxtConfig
({
routeRules
: {
// Generated at build time for SEO purpose '/': {
prerender
: true },
// Cached for 1 hour '/api/*': {
cache
: {
maxAge
: 60 * 60 } },
// Redirection to avoid 404 '/old-page': {
redirect
: {
to
: '/new-page',
statusCode
: 302 }
} // ... } })
ルートのレンダリングモードをカスタマイズするために利用できるすべてのルートルールについて学びましょう。

さらに、ページをHTMLにレンダリングする際の動作を変更するための、Nuxt固有のルートルール(ssrappMiddlewareexperimentalNoScriptsなど)がいくつかあります。

一部のルートルール(appMiddlewareredirectprerender)は、クライアント側の動作にも影響します。

Nitroは、サーバーサイドレンダリングとプリレンダリングのためのアプリの構築に使用されます。

ドキュメント > ガイド > コンセプト > レンダリングで詳細をご覧ください。