カテゴリ: Next.js 更新日: 2026/02/12

Next.jsのappディレクトリを完全解説!初心者でもわかるNext.js App Router入門

Next.jsのappディレクトリの基本構造と役割
Next.jsのappディレクトリの基本構造と役割

先生と生徒の会話形式で理解しよう

生徒

「Next.jsのappディレクトリって、何をする場所なんですか?」

先生

「Next.jsのappディレクトリは、画面やページの構造を決める中心的な場所です。」

生徒

「pagesディレクトリとは何が違うんですか?」

先生

「appディレクトリは、新しいApp Routerという仕組みを使って、より整理された作り方ができます。」

1. Next.jsのappディレクトリとは何か

1. Next.jsのappディレクトリとは何か
1. Next.jsのappディレクトリとは何か

Next.jsのappディレクトリとは、Webサイトの画面構成やページ遷移を管理するための場所です。 パソコン初心者の方は、appディレクトリを「お店の設計図が入ったファイルケース」とイメージすると分かりやすいです。 Next.jsでは、このディレクトリの中にファイルを置くだけで、自動的にページとして認識されます。 App RouterはNext.js 13以降で使える新しい仕組みで、より直感的に画面を作れるのが特徴です。

2. appディレクトリの基本構造

2. appディレクトリの基本構造
2. appディレクトリの基本構造

appディレクトリの中には、ページを表示するための決まった名前のファイルがあります。 代表的なのが page.jslayout.js です。 フォルダ構成がそのままURL構造になるため、初心者でも迷いにくい設計になっています。 フォルダは「住所」、ファイルは「その場所にある部屋」と考えると理解しやすいでしょう。

3. page.tsx(page.js)の役割

3. page.tsx(page.js)の役割
3. page.tsx(page.js)の役割

pageファイルは、実際に画面に表示される内容を書く場所です。 ここに書いたコードが、そのURLにアクセスしたときの画面になります。 Reactコンポーネントという仕組みを使いますが、最初は「画面の中身を書く箱」だと思って問題ありません。


export default function Page() {
  return (
    <div>
      <h1>トップページ</h1>
      <p>これはappディレクトリのpageです。</p>
    </div>
  );
}
(画面に「トップページ」という見出しと説明文が表示されます)

4. layout.tsx(layout.js)の役割

4. layout.tsx(layout.js)の役割
4. layout.tsx(layout.js)の役割

layoutファイルは、複数のページで共通して使う枠組みを定義します。 ヘッダーやフッターなど、毎回同じ見た目になる部分をまとめて書けます。 家で例えるなら、壁や床のような「共通の土台」です。


export default function RootLayout({ children }) {
  return (
    <html lang="ja">
      <body>
        <header>共通ヘッダー</header>
        {children}
        <footer>共通フッター</footer>
      </body>
    </html>
  );
}
(すべてのページにヘッダーとフッターが表示されます)

5. フォルダとURLの関係

5. フォルダとURLの関係
5. フォルダとURLの関係

appディレクトリでは、フォルダ名がそのままURLになります。 例えば app/blog/page.tsx を作ると、/blog というURLでアクセスできます。 難しい設定をしなくても、フォルダを作るだけでページが増えるのがNext.jsの強みです。


export default function BlogPage() {
  return <h1>ブログページ</h1>;
}
(/blog にアクセスすると「ブログページ」と表示されます)

6. loading.tsxで読み込み中を表示する

6. loading.tsxで読み込み中を表示する
6. loading.tsxで読み込み中を表示する

loadingファイルは、ページの表示に時間がかかるときに使います。 読み込み中の画面を出すことで、利用者が待たされていることを理解できます。 これは「今準備中です」という看板を出すようなものです。


export default function Loading() {
  return <p>読み込み中です...</p>;
}
(ページ表示前に「読み込み中です...」と表示されます)

7. error.tsxでエラー画面を用意する

7. error.tsxでエラー画面を用意する
7. error.tsxでエラー画面を用意する

errorファイルは、何か問題が起きたときに表示される画面です。 何も設定しないと難しいエラー画面になりますが、初心者向けのメッセージに変えられます。 トラブル時の案内係として覚えておくと安心です。


"use client";

export default function Error() {
  return <p>エラーが発生しました。</p>;
}
(エラー時に分かりやすいメッセージが表示されます)

8. appディレクトリを使うメリット

8. appディレクトリを使うメリット
8. appディレクトリを使うメリット

appディレクトリを使うことで、ページ構成が分かりやすくなります。 URLとフォルダ構造が一致するため、迷子になりにくいのが大きな利点です。 また、共通レイアウトや読み込み表示を簡単に作れるため、実務でもよく使われています。 初心者がNext.jsを学ぶなら、まずappディレクトリを理解することが重要です。

カテゴリの一覧へ
新着記事
New1
React
Reactの条件分岐の使い方を完全ガイド!初心者でもわかるReactの条件分岐
New2
React
PropsとStateの違いを徹底解説!使い分けのポイントまとめ
New3
React
Reactのフォーム入力を再利用しよう!初心者でもわかるフィールドコンポーネント化の考え方
New4
React
Reactでできること一覧!初心者でもわかるWebアプリ・スマホアプリ・PWAの活用方法
人気記事
No.1
Java&Spring記事人気No1
React
Reactでキーボードイベントを活用する方法!onKeyDown, onKeyUp, onKeyPressを初心者向けに解説
No.2
Java&Spring記事人気No2
React
ReactのPresentational Componentを完全ガイド!初心者でもわかるStateを持たないコンポーネントの特徴
No.3
Java&Spring記事人気No3
React
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築
No.4
Java&Spring記事人気No4
React
Reactでフォーカスイベントを制御する方法!onFocusとonBlurを初心者向けに解説
No.5
Java&Spring記事人気No5
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.6
Java&Spring記事人気No6
Next.js
Next.js Server Componentsのメリット・デメリットを完全解説!初心者でもわかるNext.jsの基本
No.7
Java&Spring記事人気No7
React
Reactのカードコンポーネントを汎用的に設計する方法!初心者でもわかる再利用の考え方
No.8
Java&Spring記事人気No8
React
ReactでAxiosローディング状態を管理する方法を完全ガイド!初心者でもわかる非同期通信の基本