【问题标题】:Use terser webpack plugin instead of uglify when copying sources via plugin通过插件复制源时使用 terser webpack 插件而不是 uglify
【发布时间】:2019-04-22 22:01:00
【问题描述】:

我的webpack.config.js 中有以下软件包:

const CopyWebpackPlugin = require("copy-webpack-plugin");
const TerserPlugin = require("terser-webpack-plugin");
const UglifyJS = require("uglify-es");

这是我使用这些包的配置的一部分:

  optimization: {
    minimizer: [new TerserPlugin()],
  },
  plugins: {
    new CopyWebpackPlugin([
      {
        from: "./node_modules/whatwg-fetch/dist/fetch.umd.js",
        to: "./js/polyfills/whatwg-fetch.js",
        transform: content => UglifyJS.minify(content.toString()).code,
      },
    ]),
  }

因此,我使用terser 最小化我的常用捆绑包,并通过uglifycopy-webpack 插件复制的源提供缩小。我想摆脱uglify 并用terser 替换它,因为它们都被用于缩小。是否可以? terser 插件可以在optimization 配置部分之外使用吗?或者也许我可以以某种方式告诉他也尽量减少我手动复制的来源?

【问题讨论】:

    标签: webpack bundling-and-minification webpack-4 uglifyjs terser


    【解决方案1】:

    结果证明解决方案很简单。由于terser-webpack-plugin 包含terser,因此可以单独使用。

    const CopyWebpackPlugin = require("copy-webpack-plugin");
    const Terser = require("terser");
    

    而且不需要在依赖列表中添加terser!然后我们可以随时显式使用它:

      plugins: {
        new CopyWebpackPlugin([
          {
            from: "./node_modules/whatwg-fetch/dist/fetch.umd.js",
            to: "./js/polyfills/whatwg-fetch.js",
            transform: content => Terser.minify(content.toString()).code,
          },
        ]),
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多