IT-Q

App Router か Pages Router か、どうやって見分けますか。

ディレクトリを見ます。app があれば App Router、pages があれば Pages Router です。中身でも判別でき、page.tsx や layout.tsx があれば App Router です。

面接官が見ているのは基本の補強。

これは「引き継いだ Next.js のコードを読むとき、どこから見ますか。」への追撃質問です。

よくある答えと、面談でどう見られるか

  • ディレクトリ名(app か pages)と、ファイル規約の違いで見分ける
    あわせて package.json でバージョンも確認しておきます。
  • next.config の設定で判断する
    設定では切り替えません。ディレクトリの有無で決まります。
  • getServerSideProps があれば Pages Router
    中身からも見分けられます。App Router にはこの関数がありません。
  • Next.js のバージョンで判断する
    13 以降なら App Router が使えますが、使っているとは限りません。バージョンだけでは決まりません。

面接官は何を見ているか

  • ディレクトリ名で判断できると答えた
  • ファイル規約の違いを挙げられた
  • バージョンも確認しようとした

模範解答

ディレクトリを見ます。app があれば App Router、pages があれば Pages Router です。両方あることもあります。

中身でも見分けられます。App Router は page.tsx / layout.tsx という決まった名前のファイルで構成されます。Pages Router はファイル名がそのまま URL になり、getServerSideProps や getStaticProps といった関数が出てきます。

あわせて package.json で Next.js のバージョンを確認します。バージョンによって使える機能も既定の挙動も違うので、調べ物をする前に必ず見ておきます。