はるさめ.dev

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は無視される。

参考

コメント