webpack Несколько режимов сборки - для отладки и на продакшене, автоматическая пересборка. Пример конфига (watch, build)

Рассмотрим пример конфигов, webpack.config.js:

"use strict";
var path = require('path'); // для работы с path

module.exports = [
    {  // обычная сборка, jquery и jqueryUi не включены
        mode: 'production',
        entry: {
            'mainpage': './web/js/mainpage.js',  // главная
            'reports_list': './web/s/reports_list/reports_list.js', // страница журнала
            'report_form': './web/js/report_form/report_form.js',  // страница просмотра 
            'statistics': './web/es/js/statistics/statistics.js' // раздел статистики
        },
        output: {
          path: path.resolve(__dirname, 'web/js/dist/es'),
          filename: '[name].js'
        },<pre class="brush: php"></pre>
        externals: [{ // внешние библиотеки
                "jquery": "$",
            }
        ],
        watchOptions: {
            aggregateTimeout: 500,
            poll: 1000 // порверяем изменения раз в секунду
        },
        devtool: "source-map",
        optimization: {
            minimize: false
        }
    }
];

И секция scripts в package.json (конфиг npm):

"scripts": {
        "build": "webpack --config webpack.config.js",
        "watch": "webpack --watch --mode=development"
    },

Как это запускать

При конфигурации как выше, соответственно, на при разработке выполняем команду в терминале:

npm run-script watch

А при сборке для продакшена (напр. в ходе деплоя), команду:

npm run-script build