【うぇぶぱっく】

Webpack とは?

💡 バラバラのファイルを「1つの荷物」にまとめる梱包係
📌 このページのポイント
Webpack: モジュールバンドラー ソースファイル .js .css .ts .scss .png .json 多数のファイル Webpack Loader で変換 Plugin で最適化 依存関係を解析 ツリーシェイキング バンドル出力 bundle.js style.css ※ 複数ファイルを1つにまとめてブラウザで効率的に読み込む
Webpackのイメージ
ひよこ ひよこ

Webpackって何のために使うの?

ペンギン先生 ペンギン先生

Webアプリを作るとき、JavaScriptファイルが何十個、何百個にもなることがあるんだ。それを全部バラバラにブラウザに読ませると遅くなるから、1つや数個のファイルにまとめてくれるのがWebpackだよ。引っ越しのとき、荷物をダンボールにまとめるイメージだね。

ひよこ ひよこ

ファイルをまとめるだけなの?

ペンギン先生 ペンギン先生

いや、実はもっといろんなことができるんだ。「loader」という仕組みで、TypeScriptJavaScriptに変換したり、Sassを普通のCSSに変換したりもできる。さらに「plugin」で画像を圧縮したり、不要なコードを削除したりもするよ。

ひよこ ひよこ

設定が難しいって聞いたけど…

ペンギン先生 ペンギン先生

正直、Webpackの設定ファイル(webpack.config.js)は初心者キラーだよ。何をどう書けばいいかわかりにくくて、「Webpack職人」なんて言葉があるくらい。最近はViteみたいに設定が少ないツールが人気になってきたのも、この設定の複雑さが理由の一つだね。

ひよこ ひよこ

開発中に便利な機能ってある?

ペンギン先生 ペンギン先生

webpack-dev-serverを使うと、コードを変更した瞬間にブラウザが自動で更新される「ホットリロード」ができるよ。いちいち手動でリロードしなくていいから、開発効率がすごく上がるんだ。

ひよこ ひよこ

最近はWebpackじゃなくて他のツールを使う人が増えてるの?

ペンギン先生 ペンギン先生

ViteTurbopackが注目されてるね。ただWebpackの強みは成熟したエコシステムで、ほぼどんな要件にもloaderやpluginが見つかること。実際の現場では「Tree Shaking」という未使用コードの除去と「Code Splitting」という遅延読み込みの設定をどう組み合わせるかが本当に難しくて、ビルドサイズの最適化はベテランでも正解を見つけるのに苦労するポイントなんだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Webpack」って出てきたら「たくさんのファイルをまとめてブラウザが読みやすい形にしてくれるツールだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Web + pack」 = Webのためにパック(梱包)する
💬 Webで使うファイルをパッキングするツールだからWebpack。そのままだね
← 用語集にもどる