uglifyjs2壓縮混淆js文件

uglifyjs能夠用來壓縮混淆js文件,發佈release版本應用利器。在StackOverflow瀏覽了一下,相比Google Closure和YUI compressor,uglifyjs被推薦的更多一點,YUI已經再也不更新且部分做者也加入uglifyjs開發了。node

1. 安裝

安裝能夠經過npm安裝。git

下載node.js安裝文件:http://nodejs.org/download/github

npm包含在node.js中。npm

安裝uglifyjs:spa

sudo npm install uglify-js@2 -g

@2的做用是指定下載uglify-js 2.x的版本,@1爲下載1.x的版本(github README上說1.x已經再也不開發新功能只fix)code

2. 用法

uglifyjs input1.js [input2.js ...] [options]

能夠用uglifyjs --help查看用法,經常使用選項:blog

  -o, --output                  Output file (default STDOUT).                   
  -b, --beautify                Beautify output/specify output options.
                                                                        [string]
  -m, --mangle                  Mangle names/pass mangler options.      [string]
  -r, --reserved                Reserved names to exclude from mangling.        
  -c, --compress                Enable compressor/pass compressor options. Pass
                                options like -c
                                hoist_vars=false,if_return=false. Use -c with
                                no argument to use the default compression
                                options.                                [string]

-c壓縮,-m混淆命名,-b格式化輸出js文件(不然爲只有一行),-o目標輸出文件。ci

--wrap和--export-all選項也頗有用,不過多個文件有前後執行調用順序時可能會有問題。開發

例如,壓縮一個文件:get

uglifyjs main.js -o publish/main.js -c -m -b

壓縮多個文件(支持文件夾通配符):

uglifyjs src/* main.js -o publish/min.js -c -m -b

實際發佈中寫個腳本自動處理壓縮混淆會方便不少。

相關文章
相關標籤/搜索