Webpack 5 Terser:我如何要求 'uglify-module'

Webpack 5 Terser: How can I require 'uglify-module'

我正在尝试使用 TerserPlugin 来缩小我的代码,我在他们的官方文档中找到了以下代码片段:

optimization: {
    minimize: true,
    minimizer: [
      new TerserPlugin({
        terserOptions: {
          myCustomOption: true,
        },
        minify: (file, sourceMap, minimizerOptions) => {
          const extractedComments = [];
          const { map, code } = require("uglify-module").minify(file, {});
          return { map, code, extractedComments };
        },
      }),
    ],
  }

but after adding this snippet I'm getting an error: Error: Cannot find module 'uglify-module'

此外,在 npm 注册表中找不到此 'uglify-module'。

您应该使用 uglify-js 而不是 uglify-module

uglify-module 是一个占位符,它的意思是“需要一个像 uglify 一样工作的模块”,因为那里有不止一个选项。不过,您实际上根本不需要实现 minify 函数。来自文档:

Allows you to override default minify function. By default plugin uses terser package. Useful for using and testing unpublished versions or forks.

因此,除非您对缩小有非常具体的需求,否则不应覆盖它。