14
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Next.js Pages Router と App Router のルーティング

Last updated at Posted at 2023-07-30

はじめに

2023年5月にNext.js 13.4がリリースされ、App Router という機能が安定板扱いになりました。

今までの Pages Router との違いを整理するため、この記事では、Pages Router と App Router のルーティングについて、記載していきます。

共通点

Pages Router と App Router の両方ともファイルベースのルーティングという点では共通しています。

Pages Router のルーティング

Pages Router のルーティングでは、src/pages フォルダ配下にファイルやフォルダを追加することで、ルーティングが定義されます。

例えば、pages/client-side-rendering.tsx のようにファイルを追加すると、ルーティングは、/client-side-rendering になります。
image.png

また、pages/renderings/client-side-rendering.tsx のようにフォルダを追加すると、ルーティングは、/renderings/client-side-rendering になります。
image.png

App Router のルーティング

一方、App Router のルーティングでは、src/app フォルダ配下にファイルやフォルダを追加することで、ルーティングが定義されます。Pages Router とは違い、ルーティングに利用するファイル名には、page をつける必要があります。

例えば、ルーティングを /client-side-rendering にしたい場合、フォルダ・ファイル構成は、app/client-side-rendering/page.tsx とする必要があります。
image.png

また、/renderings/client-side-rendering にしたい場合は、app/renderings/client-side-rendering/page.tsx とする必要があります。
image.png

まとめ

以上のように Pages Router と App Router の両方ともファイルベースのルーティングという点では共通しています。
ただ、 Pages Router の場合、ルーティングに利用するファイルは、他のファイルとは分け、src/pages 内で管理する一方、App Router の場合、ルーティングに利用するファイルを src/app 内で他のファイルと共に管理するという点では違います。

参照

14
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?