3

我的包中有以下包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并通过插件uglify复制的源提供了缩小。copy-webpack我想摆脱uglify并替换它,terser因为它们都被用于缩小。可能吗?terser插件可以在配置部分之外使用吗optimization?或者也许我可以以某种方式告诉他也尽量减少我手动复制的来源?

4

1 回答 1

3

解决方案很简单。由于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,
      },
    ]),
  }
于 2019-04-23T23:11:18.623 回答