Next.js 13以降の app/ ディレクトリ。フォルダ名がURLパスに対応し、特定のファイル名が特別な役割を持つ。
app/
├── layout.tsx # ルートレイアウト(全ページ共通)
├── page.tsx # / のページ
├── loading.tsx # / のローディングUI
├── error.tsx # / のエラーUI
├── not-found.tsx # 404ページ
│
├── dashboard/
│ ├── layout.tsx # /dashboard 配下の共通レイアウト
│ ├── page.tsx # /dashboard
│ └── settings/
│ └── page.tsx # /dashboard/settings
│
├── blog/
│ ├── page.tsx # /blog
│ └── [slug]/ # 動的セグメント
│ └── page.tsx # /blog/my-post 等
│
└── api/
└── users/
└── route.ts # API Route: /api/usersフォルダ名を (marketing) のように () で囲むと URLに影響しない「ルートグループ」になる。複数のレイアウトを使い分けたい場合に便利。