カテゴリ: 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
Next.js
Next.js App Routerでlayout.tsxを使う方法を完全ガイド!初心者でもわかるUIの共有
New2
React
TypeScriptでStateを型定義する方法を徹底解説!初心者でもわかるReactとTypeScript入門
New3
Next.js
Next.jsとNext.js 12以前の違いをわかりやすく解説!pagesからapp時代への大きな変化
New4
React
ReactのuseEffectでasync/awaitを使うベストプラクティスを初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
React
ReactのPropsを使ってコンポーネントの表示を動的に切り替える方法を解説!初心者でもわかるReact入門
No.2
Java&Spring記事人気No2
React
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築
No.3
Java&Spring記事人気No3
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.4
Java&Spring記事人気No4
React
ReactでonChangeイベントを使ってフォーム入力値を管理する方法を初心者向けに解説
No.5
Java&Spring記事人気No5
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.6
Java&Spring記事人気No6
React
スマホ対応!Reactでレスポンシブデザイン対応のコンポーネント設計を初心者向けに解説
No.7
Java&Spring記事人気No7
React
ReactのuseStateとuseEffectでよくあるエラーと解決方法ガイド!初心者でもわかるReactフック
No.8
Java&Spring記事人気No8
React
Reactの環境構築とは?初心者でもできるセットアップ手順まとめ