Next.jsクイズ
Next.jsで使われるTurbopackは、webpackと比べるとどのような位置づけのツールですか?
解説
webpackとTurbopackは、どちらもJavaScriptやTypeScriptなどのモジュールを処理するバンドラーです。TurbopackはRustで書かれたインクリメンタルバンドラーで、Next.jsに組み込まれています。JavaScript / TypeScript ↓ バンドラー(webpack or Turbopack) ↓ ブラウザで実行可能なコード他の選択肢が誤りである理由を整理します。「トランスパイルのみを担当」は誤りです。Turbopackはトランスパイルだけでなく、モジュール解決・バンドル・HMRなどバンドラーとしてのフルの役割を担います。Babelの代替ではありません。「webpackのプラグインとして動作」は誤りです。Turbopackはwebpackとは独立した別のバンドラーであり、webpackのエコシステム上で動くわけではありません。「Viteと同じバンドルレス」は誤りです。Viteは開発時にESモジュールをネイティブに活用するバンドルレスなアプローチを取りますが、Turbopackはインクリメンタルにバンドルを行うアプローチです。似ているようで設計思想が異なります。現在のNext.jsではTurbopackが開発・本番ビルドのデフォルトバンドラーになっており、webpackと同じ「バンドラー」という役割を、より高速に実現するツールという位置づけです。