Next.js App Router で src/app にファイルが存在するのに not found
に公開背景
あるタイミングで全ページが表示されず、 not found ページが表示されるようになった。
原因
ディレクトリ構造としてルートは以下にsrc
ディレクトリを配置するパターンを採用していた。
shadcn/ui の初期化の時に選択ミスで app
ディレクトリが作成されて不要ファイルは削除したものの、ディレクトリが残ってしまっていた。
nextjs ではルートに app
ディレクトリがある場合、 app
ディレクトリが優先されてsrc/app
は無視される。app
ディレクトリ内は空だったので not found となってしまっていた。
解決
app
ディレクトリを削除する。
補足
Pages Router の場合も同じくルートに pages
があると src/pages
は無視される。