webpack

【webpack】不要ファイルを削除する[clean-webpack-plugin]の使い方

clean-webpack-pluginの使い方を知りたい
webpackの仕組みを知りたい

上記の疑問の解決記事です。

 

※前回まででhtml-webpack-pluginをインストールしました。

【webpack】HTMLファイルを自動生成する[html-webpack-plugin]の使い方 html-webpack-pluginの使い方について知りたい html-webpack-pluginって何のために使うの? ...

 

本記事では、不要ファイルを削除するclean-webpack-pluginの使い方について解説していきます。早速、進めましょう。

 

 

clean-webpack-pluginをインストール

下記コマンドでclean-webpack-pluginをインストールします。

npm install --save-dev clean-webpack-plugin

 

 

package.jsonを確認

正常にインストールできたか、package.jsonを確認します。

//package.json


{
  "scripts": {
    "build": "webpack"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "clean-webpack-plugin": "^4.0.0", //追加
    "css-loader": "^6.5.1",
    "file-loader": "^6.2.0",
    "html-webpack-plugin": "^5.5.0",
    "mini-css-extract-plugin": "^2.4.5",
    "node-sass": "^7.0.1",
    "sass-loader": "^12.4.0",
    "style-loader": "^3.3.1",
    "webpack": "^5.65.0",
    "webpack-cli": "^4.9.1"
  }
}

 

 

webpack-config.jsに設定を追加

プラグインをインストールしたら、configファイルに設定追加をします。

//webpack-config.js


const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
//ここから追加
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
//ここまで追加

module.exports = {
    entry: './src/index.js',
    output: {
        path: `${__dirname}/dist`,
        filename: 'bundle.js'
    },
    mode: 'development',
    module: {
        rules: [
            {
                test: /\.(css|sass|scss)/,
                use: [
                    {
                        loader: MiniCssExtractPlugin.loader
                    },
                    {
                        loader: 'css-loader'
                    },
                    {
                        loader: 'sass-loader'
                    }
                ]
            },
            {
                test: /\.(png|jpg|gif|svg)/,
                use: [
                    {
                        loader: 'file-loader',
                        options: {
                            name: 'images/[name].[ext]'
                        }
                    }
                ]
            }
        ]
    },
    plugins: [
        new MiniCssExtractPlugin(),
        new HtmlWebpackPlugin({
            template: './src/index.html'
        }),
        //ここから追加
        new CleanWebpackPlugin()
        //ここまで追加
    ]
}

 

const CleanWebpackPlugin ではなく、const { CleanWebpackPlugin }

※他プラグインと違い、{}があるので注意

 

 

webpackを起動する

設定ファイルに設定を追加したら、下記コマンドでwebpackを起動します。

npm run build

 

 

clean-webpack-pluginの動き

動きが分かりにくいですが、一度dist/内が削除され、ファイルが生成されます。

※生成過程で不要ファイルは削除されます。

 

以下は、現在の階層構造です。

webpack-tutorial
├dist/
|   ├──bundle.js
|   ├──index.html
|   └──main.css 
|
├node_modules/
├src/
|   ├──images/
|   ├──index.js
|   ├──style.scss
|   └──sub.js
|
├package-lock.json
├package.json
└webpack.config.js

 

 

 

まとめ

本記事では、「不要ファイルを削除する[clean-webpack-plugin]の使い方」について解説しました。

  • clean-webpack-pluginをインストール
  • webpack-config.jsに設定を追加
  • webpackを起動する
  • clean-webpack-pluginの動き

不要ファイルがあると無駄に容量を使ってしまうので、事前に削除しておくと便利です。

次回はdist/とsrc/環境を一致させ、メンテナンス性向上を図ります。興味がある方はご参考ください。

ABOUT ME
大城ゆう
エンジニア歴5年。 大学卒業後、フィールドエンジニア職に就くがその後のキャリアに不安を感じ、ゼロスキルからWEBデザイナーに転職。 その後WEB制作会社、東証一部上場企業のECサイト担当を経て、現在は自社開発企業のWEBコーダーとして仕事に従事。