Запускать плагин Webpack только с флагом - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть некоторый плагин в моей конфигурации Webpack:

plugins: [
    new somePlugin()
]

Но я хочу, чтобы этот плагин не запускался, когда я просто запускаю npm run start, но запускаюсь, если я добавляю некоторые флаги, например npm run start --plugin дляпример.Можно ли реализовать это, не разбивая Webpack на разные конфигурации?

1 Ответ

0 голосов
/ 20 марта 2019

Вы можете сделать это, передав переменные env командой webpack

Для справки прочитайте это https://webpack.js.org/api/cli/#environment-options

run => webpack --env.production

Измените module.exports в webpack.config.js следующим образом

module.exports = function(env, argv) {
  return {
    mode: env.production ? 'production' : 'development',
    devtool: env.production ? 'source-maps' : 'eval',
     plugins: [
       new TerserPlugin({
         terserOptions: {
          compress: argv['optimize-minimize'] // only if -p or --optimize-minimize were passed
         }
       })
     ]
  };
};

Передайте любую переменную env и используйте ее для условного добавления плагинов в вашей конфигурации.

...