ルートグループ
app
ディレクトリでは、ネストされたフォルダは通常URLパスにマッピングされます。しかし、フォルダをルートグループとしてマークすることで、そのフォルダがルートのURLパスに含まれないようにすることができます。
これにより、URLパス構造に影響を与えることなく、ルートセグメントとプロジェクトファイルを論理的なグループに整理することができます。
ルートグループは以下のような用途に役立ちます:
- サイトセクション、目的、またはチームごとにルートをグループ化する
- 同じルートセグメントレベルでネストされたレイアウトを有効にする:
- 同じセグメントに複数のネストされたレイアウトを作成する(複数のルートレイアウトを含む)
- 特定のセグメントをレイアウトに組み込む
- 特定のルートにローディングスケルトンを適用する
規則
ルートグループは、フォルダ名を括弧で囲むことで作成できます:(folderName)
補足:
- ルートグループの命名は、整理以外に特別な意味を持ちません。URLパスには影響しません。
- ルートグループを含むルートは、他のルートと同じURLパスに解決すべきではありません。例えば、ルートグループはURL構造に影響を与えないため、
(marketing)/about/page.js
と(shop)/about/page.js
はどちらも/about
に解決され、エラーの原因となります。- 最上位の
layout.js
ファイルなしで複数のルートレイアウトを使用する場合、ホームのpage.js
ファイルはいずれかのルートグループで定義する必要があります。例:app/(marketing)/page.js
。- 複数のルートレイアウト間を移動すると、完全なページ読み込みが発生します(クライアントサイドナビゲーションとは対照的に)。例えば、
app/(shop)/layout.js
を使用する/cart
からapp/(marketing)/layout.js
を使用する/blog
に移動すると、完全なページ読み込みが発生します。これは複数のルートレイアウトにのみ適用されます。