通过插件复制源时,使用terser webpack插件而不是uglify

问题描述 投票:0回答:1

我在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个回答
0
投票

解决方案结果很简单。由于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,
      },
    ]),
  }
© www.soinside.com 2019 - 2024. All rights reserved.