投稿日:2026/5/12
更新日:2026/5/12

Turbopackと .next ディレクトリの関係ですね。Next.jsのビルドシステムや開発体験(DX)の裏側を理解する上で、非常に重要なトピックです。
簡単に言うと、Turbopackはソースコードを処理する「超高速なエンジン」であり、.next ディレクトリはそのエンジンが生成したファイルや計算キャッシュを保存する「格納庫」という関係にあります。
より具体的に、両者がどのように連携しているのかを3つのポイントで解説します。
Turbopackの圧倒的な速さの秘密は、「一度実行した計算(関数の実行結果など)は二度と実行せず、キャッシュを再利用する」というインクリメンタル計算のアーキテクチャにあります。
next dev --turbo(Turbopackを有効にした開発モード)を起動すると、Turbopackはソースコードを解析・バンドルしますが、その際の中間生成物や計算結果のキャッシュを .next ディレクトリ(具体的には .next/cache/turbopack などの配下)に保存します。このキャッシュがあるおかげで、2回目以降の開発サーバーの起動や、コード変更時の更新(HMR)が爆速になります。
Next.jsはReactのコードをブラウザ用のJavaScriptと、サーバー用(Node.js/Edge)のコードに分けてコンパイルします。Turbopack(従来のWebpackに代わるバンドラー)が処理を終えた後の最終的なファイル群も、.next ディレクトリの中に配置されます。
.next/server: サーバーサイドレンダリング(SSR)やServer Components用のコード
.next/static: ブラウザに配信されるクライアントサイドのJavaScriptチャンクやCSS
Turbopackは、開発者がファイルを保存するたびに、必要な部分だけを再構築し、.next 内のこれらのファイルを瞬時に上書きしてブラウザに変更を伝えます。
開発中に「コードを変更したのに画面に反映されない」「キャッシュがおかしくなった気がする」というような問題が起きた場合、エンジニアはよく .next フォルダを丸ごと削除(rm -rf .next)します。
これをすると、Turbopackが蓄積していた強力な計算キャッシュもすべてリセットされるため、次回の next dev --turbo の起動は「コールドスタート(ゼロからの計算)」となり、少し時間がかかります。しかし、キャッシュの不整合によるバグはこれで完全に解消されます。
まとめると
Turbopackは .next ディレクトリを「作業用のデスク」および「超高速化のための記憶領域(キャッシュメモリ)」としてフル活用することで、次世代の開発スピードを実現しています。
普段、Next.jsの開発ではすでに --turbo フラグを活用されていますか?それとも、従来のWebpack環境からの移行を検討されているところでしょうか?