Webpack使用UglifyJSPlugin仅移除注释

6

我希望使用Webpack UglifyJSPlugin只删除我的包中的注释。 我目前有以下UglifyJSPlugin配置:

webpackPlugins = [
    new DedupePlugin(),
    new UglifyJsPlugin({
        compress: false,
        minimize: false,
        outputs: {
            comments: false
        }
    })
]

然而,这似乎仍然会使整个捆绑包变小。是否有另一种选择可以删除我没有利用的注释?是否有一种正确使用UglifyJSPlugin的方法来实现此目的?

4个回答

9
这是你需要的内容:
new UglifyJsPlugin({
    comments: false,
}),

4

使用Webpack 2,以下设置适用于我。

new webpack.optimize.UglifyJsPlugin({
  output: {
    comments: false,
    beautify: true,
  },
  mangle: false,
  compress: false,
}),

是的,我已经在 webpack 配置文件的底部添加了以下代码: minimize: true, minimizer: [ new UglifyJsPlugin({ uglifyOptions: { output: { comments: false, beautify: true, }, mangle: false, compress: false, } }) ] }``` 并且它已经生效。 - moltenform

2
你要找的可能是"美化"和"混淆"的结合。
"美化"会输出缩进代码而不是一行文件,所以你要将其设置为true。 "混淆"将使您的代码尽可能短(例如通过缩写变量名称),因此您需要将其设置为false
有关这两个选项的更多信息,请参见UglifyJS README
webpackPlugins = [
    new DedupePlugin(),
    new UglifyJsPlugin({
        beautify: true,
        mangle: false
    })
]

1

Webpack 5现在有一个略微不同的配置文件:

const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

module.exports = {
    optimization: {
        minimizer: [
            new UglifyJsPlugin({
                uglifyOptions: {
                    output: {
                        comments: false,
                        beautify: true,
                    },
                    mangle: false,
                    compress: false
                },
            }),
        ],
    },
    ...
}

UglifyjsWebpackPlugin 文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接