【问题标题】:Run Webpack plugin only with flag仅使用标志运行 Webpack 插件
【发布时间】:2019-03-20 19:39:37
【问题描述】:

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

plugins: [
    new somePlugin()
]

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

【问题讨论】:

    标签: webpack webpack-plugin


    【解决方案1】:

    您可以通过使用 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-06-30
      • 2013-03-09
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-22
      相关资源
      最近更新 更多