Nuxtフレームワークはどのように構成されていますか?
NuxtはVueを中心に構築され、規約ベースのアプリケーションレイヤーを追加します。文書化された公開アーキテクチャには、Vueコンポーネント、ファイルベースルーティング、レンダリング制御、データユーティリティ、ビルドツール、Nitroを利用したサーバーが含まれます。
この説明は、開発者が利用できるフレームワークに関するものです。公開情報からnuxt.comの非公開ホスティング、ストレージ、監視、内部デプロイ設計を推測するものではありません。
公開フレームワークの各レイヤー
| レイヤー | 文書化された役割 |
|---|---|
| Vue | コンポーネント、テンプレート、リアクティビティ、コンポーザブル、ブラウザでの操作 |
| Nuxtのアプリケーション規約 | ページ、レイアウト、ミドルウェア、プラグイン、自動インポート、構成、データ処理パターン |
| ファイルシステムルーター | app/pages/内のVueファイルをアプリケーションルートに変換する |
| レンダリングシステム | ユニバーサルレンダリング、クライアントサイドレンダリング、プリレンダリング、ハイブリッドなルート動作に対応する |
| Nitro | サーバーレンダリング、APIハンドラー、ミドルウェア、サーバープラグイン、デプロイ向け出力を実行する |
| 任意のモジュール | すべての機能をフレームワークのコアに含めることなくNuxtを拡張する |
| Nuxt Content | ファイルベースのコンテンツコレクション、クエリ、ナビゲーションデータ、MDC対応を追加する |
リクエストの処理の流れ
- URLが、プロジェクト構造から作成されたページルート、サーバールート、またはAPIハンドラーと一致します。
- ルートルールによって、そのパスのレンダリング、キャッシュ、リダイレクト、クライアント専用動作が変更される場合があります。
- 選択したモードで必要な場合、Nitroがリクエスト時のサーバー処理を担当します。
- Vueがインターフェースをレンダリングし、ユニバーサルページは操作のためにブラウザ内でハイドレートできます。
- プリレンダリングされたルートでは、代わりにビルド中に生成された出力を配信できます。
選択したデプロイプリセットは、Nitroの出力を対応ランタイムに適合させます。プラットフォームの機能は引き続き重要です。キャッシュ連携、増分再生成、利用可能なサーバーAPI、プロセスの動作はホスト間で異なる場合があります。
したがって、アーキテクチャのレビューでは、Nuxtのバージョン、有効なモジュール、ルートルール、クライアントペイロード、サーバー専用の境界、対象ランタイムを確認する必要があります。フレームワークが構成要素を提供し、それらをどのように組み合わせるかは各プロジェクトが決定します。
