使用了 let 变量之后 webpack.optimize.UglifyJsPlugin 就压缩不了代码了吗?
webpack.config.js
var webpack = require('webpack');
var path = require('path');
module.exports = {
entry: './test.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'my-first-webpack.bundle.js',
library: "MyLibrary",
libraryTarget: 'umd',
umdNamedDefine: true
},
module: {
rules: [{
test: /\.js$/,
loader: 'babel-loader'
}]
},
plugins: [
new webpack.optimize.UglifyJsPlugin({
beautify: false,
comments: false,
compress: {
warnings: false,
drop_console: true,
collapse_vars: true,
reduce_vars: true,
}
})
]
}
test.js
let aLooooongName = 'test webpack';
console.log(123123123123123123)
// zhushihasdifhaisdhfih
if (true) {
aLooooongName = 'true value'
} else {
aLooooongName = 'false value'
}
export default aLooooongName;
结果经过webpack打包出来的文件并没有压缩,但是将test.js改成以下样子之后就可以压缩了,是什么情况?
var aLooooongName = 'test webpack';
console.log(123123123123123123)
// zhushihasdifhaisdhfih
if (true) {
aLooooongName = 'true value'
} else {
aLooooongName = 'false value'
}
export default aLooooongName;
也就将一个let变成了var了,就能压缩了什么情况???
求助!!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
uglify不支持压缩ES6语法
忘了写 .babelrc 了,写了 .babelrc 这个后就正常了。
不过看来webpack.optimize.UglifyJsPlugin是只能压缩es5的代码
有个支持 ES6 压缩的 plugin 可以试试 https://www.npmjs.com/package...