UglifyJS 壓縮 合併 JS文件

在引用庫還有其他文件時,原本的項目文件很多,這時候就需要壓縮合並,使用方法如下:

安裝:

npm install uglify-js -g

將uglifyjs安裝爲全局變量,方便我們在任何地方使用。

下面是shell命令的中文解釋:

* source-map [string],生成source map文件。
* –source-map-root [string], 指定生成source map的源文件位置。
* –source-map-url [string], 指定source map的網站訪問地址。
* –source-map-include-sources,設置源文件被包含到source map中。
* –in-source-map,自定義source map,用於其他工具生成的source map。
* –screw-ie8, 用於生成完全兼容IE6-8的代碼。
* –expr, 解析一個表達式或JSON。
* -p, –prefix [string], 跳過原始文件名的前綴部分,用於指定源文件、source map和輸出文件的相對路徑。
* -o, –output [string], 輸出到文件。
* -b, –beautify [string], 輸出帶格式化的文件。
* -m, –mangle [string], 輸出變量名替換後的文件。
* -r, –reserved [string], 保留變量名,排除mangle過程。
* -c, –compress [string], 輸出壓縮後的文件。
* -d, –define [string], 全局定義。
* -e, –enclose [string], 把所有代碼合併到一個函數中,並提供一個可配置的參數列表。
* –comments [string], 增加註釋參數,如@license、@preserve。
* –preamble [string], 增加註釋描述。
* –stats, 顯示運行狀態。
* –acorn, 用Acorn做解析。
* –spidermonkey, 解析SpiderMonkey格式的文件,如JSON。
* –self, 把UglifyJS2做爲依賴庫一起打包。
* –wrap, 把所有代碼合併到一個函數中。
* –export-all, 和–wrap一起使用,自動輸出到全局環境。
* –lint, 顯示環境的異常信息。
* -v, –verbose, 打印運行日誌詳細。
* -V, –version, 打印版本號。
* –noerr, 忽略錯誤命令行參數。

具體使用:

1.單個文件壓縮:

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

進入到j要壓縮的 js文件目錄下,使用 終端命令

uglifyjs demo1.js  -c -m -o demo1.min.js

2.多文件合併壓縮:

進入到js文件目錄下,使用 終端命令

uglifyjs demo1.js demo2.js demo3.js -c -m -o all.min.js

爲了快捷操作 可以編寫一個bat文件,放入到bat中

@ECHO OFF
uglifyjs demo1.js demo2.js demo3.js -c -m -o all.min.js

PS:注意 

合併打包時 要按照 文件的引入 或 代碼邏輯的 聲明順序進行 按序列合併打包

例如:有兩個js文件:a.js  b.js

在a.js裏聲明瞭  一個變量 

window.bianlianA = xxx;

然後在 b.js 文件裏某個方法 使用了此變量 

function B(){
    var bianlianb = window.bianlianA;
    //其他邏輯
}

合併打包時 需用 先打包a.js 再打包 b.js方式

uglifyjs a.js b.js  -c -m -o all.min.js

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章