无法在webpack bundle js文件中删除注释

Kou*_*Das 5 javascript module reactjs webpack

我一直试图在webpack捆绑的js文件中删除注释.我已经尝试了几种方法,但它还没有工作,我得到的评论就像

"/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\ ...
Run Code Online (Sandbox Code Playgroud)

为此,捆绑的文件变得越来越大.目前巨大的1.6mb大小.我试过这个

new webpack.optimize.UglifyJsPlugin({
        sourceMap: false,
        compress: {
            sequences: true,
            dead_code: true,
            conditionals: true,
            booleans: true,
            unused: true,
            if_return: true,
            join_vars: true,
            drop_console: true
        },
        mangle: {
            except: ['$super', '$', 'exports', 'require']
        },
        output: {
            comments: false
        }
    })
Run Code Online (Sandbox Code Playgroud)

这也是

new webpack.optimize.UglifyJsPlugin({
        compress: { warnings: false },
        sourceMap: false,
        output: false
    })
Run Code Online (Sandbox Code Playgroud)

还将环境设置为生产环境

set NODE_ENV=production
Run Code Online (Sandbox Code Playgroud)

我无法理解我错在哪里.请帮忙.提前致谢.

Eve*_*tss 8

UglifyJsPlugin@licence即使您comments: false出于法律原因设置,也不要删除评论.你可以在webpack GitHub问题上阅读它.

如果你想删除这种评论(由你自己承担风险),你应该搜索其他的加载器,如webpack-comment-remover-loaderstripcomment-loader.


pro*_*sti 4

这就是您所需要的:

new UglifyJsPlugin({
    comments: false,
}),
Run Code Online (Sandbox Code Playgroud)

这里


这是来自 Webpack 的行,@Everettss 是正确的。

File: /webpack/lib/optimize/UglifyJsPlugin.js
097:                        let output = {};
098:                        output.comments = Object.prototype.hasOwnProperty.call(options, "comments") ? options.comments : /^\**!|@preserve|@license/;
099:                        output.beautify = options.beautify;
100:                        for(let k in options.output) {
101:                            output[k] = options.output[k];
102:                        }
Run Code Online (Sandbox Code Playgroud)

你可以检查正则表达式,它证实了 Sokra 的说法

在此输入图像描述

我不确定 UglifyJsPlugin,但通常如果您在其他地方提供法律声明,您应该删除所有评论。

如果您的律师确认这没问题,您可以尝试调整,/*!使正则表达式失败并且注释将不再存在。