できない.dev

bundler

別名: バンドラ / モジュールバンドラ / module bundler

bundler(モジュールバンドラ)は複数の JavaScript や CSS などのモジュールを依存関係をたどって 1 つ以上のファイルにまとめるツール。import の解決やトランスパイル、コード分割を担い、webpack・Vite・esbuild などがある。

公開:

定義

bundler(モジュールバンドラ)は、import / export でつながった多数のモジュールを、エントリーポイントから依存をたどって 1 つ以上のファイルに束ねるツールである。
ブラウザが読み込みやすい形に変換し、依存解決を肩代わりする。Vite や webpack、esbuild、Rollup が代表例。

詳細

多くの bundler は変換(トランスパイル)やコード分割、tree shaking、環境変数の埋め込みなどを合わせて行う。
開発中はメモリ上で高速にバンドルし、本番ビルドでは最適化した成果物を出力する、という二段構えが一般的。
どのモジュールをブラウザ向けに含めるかを解決するため、Node.js 専用 API を含めると失敗しやすい。

よくある誤解

bundler はトランスパイラ(Babel など)と同じではない。
トランスパイルは構文変換が主目的で、束ねること自体はしない。
両者は組み合わせて使われることが多く、Vite や Next.js は内部に bundler を抱えている。

関連

サーバ専用モジュールを混ぜた失敗は Module not found: fsprocess 参照の差は process is not defined を参照。
型解決は tsconfig が担う。