カテゴリ: Next.js 更新日: 2026/03/19

Next.js Pages RouterからApp Routerへの移行手順を初心者向けに完全解説!Next.jsの新しい仕組みをやさしく理解しよう

Next.js Pages Router→App Routerへの移行手順
Next.js Pages Router→App Routerへの移行手順

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

生徒

「Next.jsって最近よく聞くんですが、Pages RouterとApp Routerって何が違うんですか?」

先生

「Next.jsにはページを作る仕組みが二つあって、昔からあるのがPages Router、新しく登場したのがApp Routerです。」

生徒

「今までPages Routerで作っていた場合、App Routerに変えたほうがいいんですか?」

先生

「これからのNext.jsではApp Routerが中心になります。だから、Pages RouterからApp Routerへの移行手順を知っておくと安心ですよ。」

1. Next.jsとは何かを超かんたんに理解しよう

1. Next.jsとは何かを超かんたんに理解しよう
1. Next.jsとは何かを超かんたんに理解しよう

Next.jsは、WebサイトやWebアプリを作るための道具です。例えるなら、家を建てるときの「設計図セット」のような存在です。 JavaScriptという言語を使って、画面の表示やページの切り替えを簡単に作れるようになります。

Next.jsはReactという仕組みをベースにしています。Reactとは、画面の部品を組み立てて表示するための考え方です。 パソコンを触ったことがない人でも、「画面を作るための部品を組み合わせるもの」と思ってもらえれば大丈夫です。

2. Pages RouterとApp Routerの違いをやさしく説明

2. Pages RouterとApp Routerの違いをやさしく説明
2. Pages RouterとApp Routerの違いをやさしく説明

Pages Routerは、pagesフォルダの中にファイルを置くだけでページが作れる仕組みです。 ファイル名がそのままURLになるので、とても分かりやすいのが特徴です。

一方、App Routerはappフォルダを使います。こちらは、画面の部品や動きをより細かく管理できます。 少し難しく見えますが、その分できることが増えています。

例えるなら、Pages Routerは「シンプルな間取りの家」、App Routerは「自由に間取りを変えられる家」です。

3. Pages Routerの基本的な構造を確認しよう

3. Pages Routerの基本的な構造を確認しよう
3. Pages Routerの基本的な構造を確認しよう

移行を考える前に、Pages Routerの基本を知っておくことが大切です。 Pages Routerでは、pagesフォルダの中にJavaScriptファイルを作ります。


export default function Home() {
  return <h1>トップページです</h1>;
}
(ブラウザを開くと、画面に「トップページです」と表示されます)

このように、ファイルを置くだけでページが完成します。初心者にとってはとても理解しやすい仕組みです。

4. App Routerの基本構造を理解しよう

4. App Routerの基本構造を理解しよう
4. App Routerの基本構造を理解しよう

App Routerでは、appフォルダの中にpage.jsという名前のファイルを作ります。 このpage.jsが、画面に表示されるページになります。


export default function Page() {
  return <h1>App Routerのページです</h1>;
}
(画面に「App Routerのページです」と表示されます)

ファイル名はpage.jsで固定ですが、フォルダの構造でURLを管理します。 最初は戸惑いますが、慣れるととても整理しやすくなります。

5. Pages RouterからApp Routerへの移行手順その1 フォルダを作る

5. Pages RouterからApp Routerへの移行手順その1 フォルダを作る
5. Pages RouterからApp Routerへの移行手順その1 フォルダを作る

移行の第一歩は、appフォルダを作ることです。 今まで使っていたpagesフォルダは、すぐに消さなくても大丈夫です。

まずはappフォルダを作り、その中にpage.jsを用意します。 これだけで、App Routerの世界に一歩足を踏み入れたことになります。

6. Pages RouterからApp Routerへの移行手順その2 レイアウトを作る

6. Pages RouterからApp Routerへの移行手順その2 レイアウトを作る
6. Pages RouterからApp Routerへの移行手順その2 レイアウトを作る

App Routerでは、layout.jsというファイルを使って共通の画面を作れます。 例えば、どのページにも表示されるヘッダーやフッターです。


export default function Layout({ children }) {
  return (
    <div>
      <header>共通ヘッダー</header>
      {children}
    </div>
  );
}
(どのページを開いても、上に「共通ヘッダー」が表示されます)

childrenとは、ページごとの中身が入る箱のようなものです。 難しく考えず、「中身がここに入る」と覚えてください。

7. Pages RouterからApp Routerへの移行手順その3 データの考え方

7. Pages RouterからApp Routerへの移行手順その3 データの考え方
7. Pages RouterからApp Routerへの移行手順その3 データの考え方

App Routerでは、サーバーで動く部品と、ブラウザで動く部品を分けて考えます。 サーバーとは、インターネットの向こう側にあるコンピュータのことです。


"use client";

export default function Button() {
  return <button>クリック</button>;
}
(ボタンが画面に表示され、クリックできるようになります)

「use client」と書くことで、この部品はブラウザで動くとNext.jsに伝えています。 これがApp Routerの大きな特徴の一つです。

8. Pages RouterからApp Routerへ移行するときの注意点

8. Pages RouterからApp Routerへ移行するときの注意点
8. Pages RouterからApp Routerへ移行するときの注意点

移行するときは、一気に全部を変えなくても大丈夫です。 Pages RouterとApp Routerは、同時に使うことができます。

まずは小さなページからApp Routerに移行し、少しずつ慣れていくのがおすすめです。 エラーが出ても慌てず、一つずつ確認していきましょう。

まとめ

まとめ
まとめ

ここまでの記事では、Next.jsにおけるPages RouterとApp Routerの違いから、実際の移行手順、考え方の変化、初心者がつまずきやすいポイントまでを順番に整理してきました。 Pages Routerは、pagesフォルダにファイルを置くだけでページが作れる直感的な仕組みで、これからNext.jsを学び始める人にとって非常に分かりやすい構造です。 一方で、App Routerはappフォルダを中心に、レイアウトやページ構成、サーバーとブラウザの役割分担を明確にできる新しい仕組みです。

App Routerでは、page.jsやlayout.jsといった決まった名前のファイルを使い、フォルダ構造そのものがURLと画面構成を表します。 これにより、共通レイアウトの管理や、ページごとの役割分担がしやすくなり、規模の大きなWebアプリやサービス開発にも対応しやすくなっています。 特に、共通ヘッダーやフッターをlayout.jsで管理できる点は、Pages Routerと比べて大きなメリットと言えるでしょう。

また、App Routerの重要な考え方として、サーバーで動くコンポーネントと、ブラウザで動くコンポーネントを分けて考える点があります。 use clientと書かれたコンポーネントは、クリックや入力など、画面上の操作を担当します。 それ以外の部分は、サーバー側で処理され、表示に必要な情報だけがブラウザに送られます。 この仕組みにより、表示速度の向上や、無駄な処理の削減が期待できます。

Pages RouterからApp Routerへの移行は、一気にすべてを変更する必要はありません。 既存のpagesフォルダを残したまま、新しいページだけをappフォルダで作ることもできます。 まずは小さなページや検証用の画面からApp Routerを使い、少しずつ理解を深めていくことが、初心者にとって無理のない進め方です。 エラーが出た場合も、フォルダ構造やファイル名を確認するだけで解決するケースが多く、落ち着いて対応することが大切です。

Next.jsはReactをベースにしたフレームワークであり、App RouterはこれからのNext.js開発の中心となる仕組みです。 今のうちからApp Routerの考え方に慣れておくことで、将来のバージョンアップや新しい機能にもスムーズに対応できるようになります。 Pages Routerで基礎を学び、App Routerで一段階レベルアップするという流れを意識すると、理解が深まりやすくなります。


export default function Page() {
  return (
    <div>
      <h1>まとめページ</h1>
      <p>Pages RouterとApp Routerの違いを学びました</p>
    </div>
  );
}
(まとめページとして見出しと文章が表示され、学習内容を振り返る画面になります)
先生と生徒の振り返り会話

生徒

Pages RouterとApp Routerの違いが、前よりもはっきり分かるようになりました。 Pages Routerは簡単で、App Routerは少し難しいけど、できることが多いんですね。

先生

その理解で大丈夫です。 最初はPages Routerで仕組みに慣れて、App Routerで本格的な構成を学ぶと、Next.js全体が見えてきます。

生徒

layout.jsやuse clientの意味も、何となくですが理解できました。 いきなり全部移行しなくていいと聞いて、少し安心しました。

先生

それが一番大切なポイントです。 小さく試して、少しずつ慣れることで、自然とApp Routerが使えるようになります。 焦らず、実際にコードを書きながら理解を深めていきましょう。

生徒

これからNext.jsで新しく作るページは、App Routerを意識して作ってみます。 今日学んだ内容を復習しながら進めてみます。

先生

それで大丈夫です。 今回の内容を理解できていれば、Next.jsの基礎はしっかり身についています。 次はデータ取得や画面の分割にも挑戦してみましょう。

カテゴリの一覧へ
新着記事
New1
React
仮想DOM(Virtual DOM)とは?仕組みとReactでの役割を解説!初心者でもわかるReactの仮想DOM
New2
Next.js
Next.jsのHead管理を完全解説!Pages Routerでnext/headを使う方法を初心者向けにやさしく説明
New3
Next.js
Next.js Pages RouterからApp Routerへの移行手順を初心者向けに完全解説!Next.jsの新しい仕組みをやさしく理解しよう
New4
React
Stateの基本!useStateを使った状態管理の書き方
人気記事
No.1
Java&Spring記事人気No1
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.2
Java&Spring記事人気No2
React
Reactでフォーカスイベントを制御する方法!onFocusとonBlurを初心者向けに解説
No.3
Java&Spring記事人気No3
Next.js
Next.jsのRoute Groupの使い方を完全ガイド!App Routerでフォルダ構成を整理する方法
No.4
Java&Spring記事人気No4
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.5
Java&Spring記事人気No5
React
ReactでAxiosのPUT・DELETEリクエストを完全ガイド!初心者でもわかるAPI通信の基本
No.6
Java&Spring記事人気No6
React
コンポーネントの作り方!基本的な書き方と使い方をReact初心者向けに解説
No.7
Java&Spring記事人気No7
React
ReactのJSXとJavaScriptの違いを完全ガイド!初心者でもわかるReactのJSX入門
No.8
Java&Spring記事人気No8
React
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築