uglifyjs note

uglifyjs

UglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit.
uglifyjs是用js写的js压缩工具, 它包含下列一些工具:

  • parser 从js代码生成AST(抽象语法树)
  • code generator 从AST生成js代码
  • compressor 优化AST 压缩代码
  • mangle 局部变量混淆 变为单字母
  • scope analyzer 作用于分析
  • tree walker 允许我们遍历AST语法树的节点 做点有意思的事情
  • tree tranformer 转换语法树

安装

npm install uglify-js //本地安装
npm install -g uglify-js //全局安装 之后 可以在命令行直接调用 uglifyjs

使用

//建议options放后面,可输入多个js文件 在同一全局作用域解析它们
uglifyjs [input files] [options] 

//若将选项放前面 则需用 -- 分隔一下,输入的js
uglifyjs --compress --mangle -- input.js

//查看帮助 
uglifyjs -h

更详细的帮助信息

示例

//压缩 混淆 并输出 source-map文件    
uglifyjs script.js -o script.min.js -c -m --source-map script.min.js.map

script.min.js 包含:
many codes...
//# sourceMappingURL=script.min.js.map

//多个js 压缩合并为1个js
uglifyjs f1.js f2.js -o fs.min.js -c -m --source-map fs.min.js.map

//美化代码 不压缩成1行
uglifyjs f1.js f2.js -o fsb.min.js -c -m -b

//添加序言 --preamble somewords 不能有空格
uglifyjs script.js -o script1.min.js -c -m --source-map script.min.js.map --preamble /*modify_at:2015-06-18*/

//指定source-map-url 然后用http-server在out.min.js所在文件夹,启动httpServer
uglifyjs script.js -o out.min.js -c -m --source-marp out.min.js.map --source-map-url http://localhost:8080/out.min.js.map --preamble /*modify_at:2015-06-18_23:11:10*/

//--source-map-root 指定js源文件的所在路径或url
uglifyjs /home/doe/work/foo/src/js/file1.js \
     /home/doe/work/foo/src/js/file2.js \
     -o foo.min.js \
     --source-map foo.min.js.map \
     --source-map-root http://foo.com/src \
     -p 5 -c -m

你可能感兴趣的:(uglifyjs note)