webpack的js压缩插件如何使用?
网上很多资料都是压缩混淆过的js文件,他们是用的什么工具来压缩混淆的呢?
查到过一个webpack的插件uglifyjs-webpack-plugin。但是不知道怎么使用。
根据教程一步步走,压缩混淆完之后没法使用了。
我的入口文件是这样的:
function abc(){
console.log("abc");
}
console.log(12);
var first="first name";
console.log(first);
var lottery=(function(){
function lottery(){
this.name="lottery name";
}
return lottery;
})
压缩混淆完之后定义的变量成了一个字符,abc(),first,lottery这些自定义的方法或者变量都没有了,但是我在页面中都使用引用了这些方法。
是哪里的代码有问题呢?
我的配置代码如下:
const uglifyWebpackPlugin=require("uglifyjs-webpack-plugin");
const path=require("path")
module.exports={
entry:"./src/index",
output:{
path: path.resolve(__dirname, 'dist'),
filename: 'build.js'
},
plugins:[
new uglifyWebpackPlugin(
{
uglifyOptions:{
mangle:{
reserved:["abc","first","lottery"]
},
compress:true
}
})
]
}
谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
webpack中每一个文件都是模块,在文件中申明的方法名都会被压缩掉。所以你想达到在页面中直接使用这些方法要改成
原因不是你的reserved没生效,是因为你的compress设置,true会把子属性unused也设置为true,未被运行的代码都被删掉了。
你可以试试