Webpack(ウェブパック) は、JavaScriptアプリケーションのためのモジュールバンドラーです。複数のファイルやアセット(CSS、画像、フォント、JavaScriptなど)をまとめて1つまたは複数のファイルに統合し、ブラウザで効率的に読み込める形に変換します。
モジュールバンドラーとは?
モジュールバンドラーは、依存関係のあるファイル群を1つまたは複数の出力ファイル(バンドル)にまとめるツールです。Webpackは、次の処理を行います:
1. 依存関係の解析:
アプリケーションのエントリーポイント(開始ファイル)から始まり、すべての依存関係を解析。
2. モジュールの統合:
JavaScriptだけでなく、CSS、画像、フォントなどのアセットも1つのバンドルに統合。
3. 最適化:
ファイルのサイズ削減(圧縮)や、コードの分割(コードスプリッティング)を行い、パフォーマンスを向上させる。
⑥ モード(Mode)
Webpackには、以下2つのモードがあります:
• development: 開発向け設定(デバッグ情報付き、最適化なし)。
• production: 本番向け設定(ファイルの圧縮や最適化)。
module.exports = {
mode: 'production', // または 'development'
};
webpack.config.js
const path = require('path');
module.exports = {
mode: 'development',
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
},
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
},
],
},
plugins: [],
};
Webpackがよく使われるシーン
• SPA(シングルページアプリケーション) のバンドル。
• React、Vue.js、Angularなどのモダンフレームワークのセットアップ。
• フロントエンドのアセット(CSS、画像、フォント)の最適化。