Uifyjs是server node.js的压缩程序.有需要的朋友可以测试一下。
丑八怪入门
1、简介
UglifyJS是一个工具集,包括JS解释器,代码最小化,压缩和美化。它是前端开发和打包最常用的工具之一。
CocosCreator引擎使用gulp来管理构建过程,UglifyJS也用于合并和压缩代码。
目前LifyJS只能压缩JS代码,并且只支持ES5语法,还不支持ES6。
2、安装
UglifyJS是基于Node.js开发的,所以首先要确保安装了Node.js环境。
如果要作为独立命令运行,请使用以下命令安装
npm安装丑陋-js -g
安装完成后,输入uglifyjs-V查看版本号,检查安装是否成功。
如果您想通过代码调用它作为一个模块,使用下面的命令来安装它
npm安装uglify-js - save-dev
3、用法
UglifyJS的命令格式如下
输入文件选项
输入文件可以是单个或多个。上传参数时建议先上传文件再上传选项。UglifyJS会把文件放入队列,按照传入的选项依次解释。
例如,有一个名为copy.js的js代码文件,如下所示。
var fs=require( fs );
主函数(argv) {
fs.createReadStream(argv[0])。pipe(fs . createwritestream(argv[1]);
}
var args=process . argv . slice(2);
如果(!args args.length===2) {
main(args);
}否则{
console.log(args无效。);
}
现在让我们测试几个常见的丑JS选项。
3.1 -o 输出
uglifyjs copy.js -o min.js
上面的命令被传入copy.js并输出到min.js,结果如下。
var fs=require( fs );function main(argv){ fs . create read stream(argv[0])。pipe(fs . createwritestream(argv[1])} var args=process . argv . slice(2);如果(!args args . length===2){ main(args)}
可以看到,效果是代码被白化合并成一行,但是函数和变量的名字不变。
3.2 -c 压缩
uglifyjs copy.js -c -o min.js
上述命令被传递到copy.js中,并被压缩和输出到min.js。结果如下。
var fs=require( fs );function main(argv){ fs . create read stream(argv[0])。pipe(fs . createwritestream(argv[1])} var args=process . argv . slice(2);args 2===args . length main(args);
其效果与前面的命令基本相同,只是简化了if语句。
3.3 -m 混淆
uglifyjs copy.js -m -c -o min.js
上面的命令被传入copy.js,它把压缩的输出混淆为min.js结果如下。
var fs=require( fs );function main(r){ fs . createreadstream(r[0])。pipe(fs . createwritestream(r[1])} var args=process . argv . slice(2);args 2===args . length main(args);
可以看出,混淆压缩的效果是在前一个的基础上,用最简单的字母代替函数参数。
总体来说,UglifyJS的混乱是轻的,只简化了函数参数和变量名,没有修改语法树。
3.4 输入多文件
uglifyjs copy . js copy 2 . js-m-c-o min . js
上面的命令传入copy.js和copy2.js,把压缩输出混淆到min.js,结果如下。
var fs=require( fs );function main(e){ fs . createreadstream(e[0])。pipe(fs . createwritestream(e[1])}(args=process . argv . slice(2))2===args . length main(args);var argsfs=require( fs );function main(e){ fs . createreadstream(e[0])。pipe(fs . createwritestream(e[1])}(args=process . argv . slice(2))2===args . length main(args);
可以看到,效果是在前一个的基础上,将多个输入文件依次合并到同一行,同时避免了变量的重复命名。
下面是其他网友的补充
您需要首先安装node,输入命令行,并检查node和npm是否安装正确。
接下来安装UglifyJS,比如:npm安装uglify-js -g G。
最后,不要忘记向环境变量添加node和npm。我的不同之处在于
c: Program Files(x86) nodejs ;
c: Users 周涛 AppData Roaming npm
现在可以用uglifyjs来压缩,比如
uglifyjs文件夹/dom.js - folder/dom-min.js
会压缩目录文件夹中的dom.js,保存在同一个目录下。
详细参数参考:https://github.com/mishoo/UglifyJS