はじめに

編集

Webpackとは

編集

Webpackは、モダンなJavaScriptアプリケーションのための静的モジュールバンドラーです。Webpackの主な目的は、プロジェクトの依存関係を効率的にまとめ、最適化することです。

インストールと基本セットアップ

編集

インストール方法

編集

Node.jsプロジェクトでWebpackをインストールするには、以下のコマンドを使用します:

npm install webpack webpack-cli --save-dev

基本設定ファイル

編集

プロジェクトのルートディレクトリに webpack.config.js を作成します:

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')
  },
  mode: 'development'
};

主要な概念

編集

エントリーポイント

編集

エントリーポイントは、Webpackがビルドプロセスを開始するファイルを示します。デフォルトは ./src/index.js です。

ローダー

編集

ローダーにより、Webpackは JavaScript以外のファイルタイプを処理できます。代表的な例:

  • css-loader: CSSファイルの処理
  • babel-loader: JavaScriptの最新構文を古いブラウザで動作するコードに変換
  • file-loader: 画像やフォントファイルの処理
設定例:
module.exports = {
  module: {
    rules: [
      {
        test: /\.css$/,
        use: ['style-loader', 'css-loader']
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader'
        }
      }
    ]
  }
};

プラグイン

編集

プラグインはWebpackの機能を拡張します:

  • HtmlWebpackPlugin: HTMLファイルの自動生成
  • MiniCssExtractPlugin: CSSファイルの別出力
  • CleanWebpackPlugin: ビルド前に出力ディレクトリをクリーン

最適化

編集

コード分割

編集

動的インポートを使用してコード分割:

// 動的インポート
import('./module').then(module => {
  // モジュール使用
});

本番環境の最適化

編集

本番ビルド用の設定:

module.exports = {
  mode: 'production',
  optimization: {
    minimize: true,
    splitChunks: {
      chunks: 'all'
    }
  }
};

開発サーバー

編集

webpack-dev-server

編集

ホットリロード機能付きの開発サーバーをセットアップ:

npm install webpack-dev-server --save-dev
package.jsonスクリプト:
{
  "scripts": {
    "start": "webpack serve --open"
  }
}

トラブルシューティング

編集

一般的な問題と解決策

編集
  • 依存関係の解決: npm install で不足しているパッケージを確認
  • ローダーの設定ミス: コンソールエラーを注意深く確認
  • パフォーマンス: webpack-bundle-analyzer でバンドルサイズを分析

結論

編集

Webpackは複雑に見えますが、段階的に学ぶことで強力なビルドツールを習得できます。継続的に公式ドキュメントを参照し、実践することをおすすめします。