Next.js 入門コース / レッスン 1

プロジェクト構成とルーティング

ファイルベースルーティング

App Router では app/ 配下のフォルダ構成がそのまま URL になります。各フォルダの page.tsx がそのパスのページ、layout.tsx が共通の枠です。

ディレクトリ構成

app/ ├── layout.tsx # 全ページ共通レイアウト ├── page.tsx # / ├── courses/ │ ├── page.tsx # /courses │ └── [slug]/ │ └── page.tsx # /courses/python など(動的ルート) └── membership/ └── page.tsx # /membership

app/courses/[slug]/page.tsx

export default async function CoursePage({ params, }: { params: Promise<{ slug: string }>; }) { const { slug } = await params; return <h1>コース: {slug}</h1>; }

動的ルート

[slug] のような角かっこフォルダは動的ルートになり、URL の一部を params として受け取れます。本家サイトの /course/python のようなページはこの仕組みで 1 つのファイルから量産されています。

✅ 理解度チェック

App Router で /about ページを作るには?