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)
我无法理解我错在哪里.请帮忙.提前致谢.
UglifyJsPlugin
@licence
即使您comments: false
出于法律原因设置,也不要删除评论.你可以在webpack GitHub问题上阅读它.
如果你想删除这种评论(由你自己承担风险),你应该搜索其他的加载器,如webpack-comment-remover-loader
或stripcomment-loader
.
这就是您所需要的:
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,但通常如果您在其他地方提供法律声明,您应该删除所有评论。
如果您的律师确认这没问题,您可以尝试调整,/*!
使正则表达式失败并且注释将不再存在。
归档时间: |
|
查看次数: |
6580 次 |
最近记录: |