メインコンテンツまでスキップ

4. Bundle

バンドルツールは、複数のJavaScriptファイルやモジュールを一つのファイルにまとめ、ブラウザで効率的にロードできるようにするためのツールです。ここでは、代表的なバンドルツールであるWebpack、Rollup、Parcel、esbuild、Viteについて説明し、それぞれの特徴と基本的な設定を紹介します。

Webpack

特徴

  • 開発元:OpenJS Foundation
  • 主な利用例:大規模なWebアプリケーションの開発
  • 主な特徴
    • プラグインとローダーの豊富なエコシステム
    • 柔軟な設定が可能
    • 開発モードとプロダクションモードのサポート

基本的な設定

  1. Webpackのインストール

    npm install --save-dev webpack webpack-cli
  2. 設定ファイルの作成

    // webpack.config.js
    const path = require('path');

    module.exports = {
    entry: './src/index.js',
    output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
    },
    module: {
    rules: [
    {
    test: /\.js$/,
    exclude: /node_modules/,
    use: {
    loader: 'babel-loader',
    },
    },
    ],
    },
    };
  3. ビルドコマンドの実行

    npx webpack --config webpack.config.js

Rollup

特徴

  • 開発元:Rich Harris
  • 主な利用例:ライブラリやモジュールのバンドル
  • 主な特徴
    • トレーニングデッドコード(未使用コードの除去)
    • モジュール形式のサポート(ESM、CommonJSなど)
    • プラグインシステム

基本的な設定

  1. Rollupのインストール

    npm install --save-dev rollup
  2. 設定ファイルの作成

    // rollup.config.js
    import babel from 'rollup-plugin-babel';

    export default {
    input: 'src/index.js',
    output: {
    file: 'dist/bundle.js',
    format: 'cjs',
    },
    plugins: [
    babel({
    exclude: 'node_modules/**',
    }),
    ],
    };
  3. ビルドコマンドの実行

    npx rollup -c rollup.config.js

Parcel

特徴

  • 開発元:Devbridge Group
  • 主な利用例:シンプルな設定でのプロジェクト開発
  • 主な特徴
    • 設定不要のバンドル
    • 高速なビルド
    • ホットモジュールリプレースメント(HMR)

基本的な設定

  1. Parcelのインストール

    npm install --save-dev parcel
  2. ビルドコマンドの実行

    npx parcel src/index.html

esbuild

特徴

  • 開発元:Evan Wallace
  • 主な利用例:非常に高速なバンドルとトランスパイル
  • 主な特徴
    • 超高速なビルド速度
    • TypeScriptとJSXのネイティブサポート
    • シンプルな設定

基本的な設定

  1. esbuildのインストール

    npm install --save-dev esbuild
  2. ビルドコマンドの実行

    npx esbuild src/index.js --bundle --outfile=dist/bundle.js

Vite

特徴

  • 開発元:Evan You
  • 主な利用例:モダンなフロントエンド開発
  • 主な特徴
    • 開発サーバーの高速起動
    • モジュールホットリプレースメント(HMR)
    • プラグインシステム

基本的な設定

  1. Viteのインストール

    npm create vite@latest
  2. プロジェクトのセットアップ

    cd my-vite-app
    npm install
    npm run dev

各バンドルツールの比較

バンドルツール開発元主な利用例特徴
WebpackOpenJS Foundation大規模なWebアプリケーションの開発プラグインとローダーの豊富なエコシステム、柔軟な設定
RollupRich Harrisライブラリやモジュールのバンドルトレーニングデッドコード、モジュール形式のサポート
ParcelDevbridge Groupシンプルな設定でのプロジェクト開発設定不要のバンドル、高速なビルド、ホットモジュールリプレースメント
esbuildEvan Wallace非常に高速なバンドルとトランスパイル超高速なビルド速度、TypeScriptとJSXのネイティブサポート
ViteEvan Youモダンなフロントエンド開発開発サーバーの高速起動、モジュールホットリプレースメント

各バンドルツールには、それぞれの強みと特徴があります。プロジェクトの要件や使用するプラットフォームに応じて、最適なバンドルツールを選択することが重要です。