仅使用标志运行Webpack插件

时间:2018-11-13 13:54:18

标签: webpack webpack-plugin

我的Webpack配置中有一些插件:

plugins: [
    new somePlugin()
]

但是我不希望仅在运行npm run start时启动此插件,而是在添加一些标志(例如npm run start --plugin)时运行。是否可以在不将Webpack分为不同配置的情况下实现这一点?

1 个答案:

答案 0 :(得分:1)

您可以通过使用webpack命令传递env变量来做到这一点

供参考,请阅读此https://webpack.js.org/api/cli/#environment-options

run => webpack --env.production

以此更改webpack.config.js中的module.exports

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变量,并使用它有条件地在您的配置中推送插件。