2

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

plugins: [
    new somePlugin()
]

但是我想在我刚运行时不启动这个插件npm run start,但是如果我添加一些标志就运行,npm run start --plugin例如。是否可以在不将 Webpack 划分为不同配置的情况下实现这一点?

4

1 回答 1

2

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

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

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

于 2019-03-20T11:39:37.290 回答