目標:
壓縮項目中的JS,CSS文件.
方法一:使用uglifyjs uglifycss
壓縮JS:
1.安裝NODEJS.是一個在服務端運行的JS語言.下載地址https://nodejs.org/en/download/ 下載完成之后,(windows版本),雙擊后下一步....安裝.
2.打開CMD,執行 npm install uglify-js -g // 意思是使用npm(nodejs package manager)包管理命令安裝uglify-js 這個軟件包, -g 的作用如同添加了環境變量,可直接在CMD中運行uglify命令.
3.這個命令需要連網,因為要下載uglify的包,也可以下載源碼 地址:https://github.com/mishoo/UglifyJS2
4.嘗試壓縮一個JS試試:
uglifyjs test.js -o test.min.js // 第一個參數test.js為要壓縮的源JS文件 -o表示輸出到后面的test.min.js這個文件.結果就是test.js的目錄下多了一個test.min.js文件,打開后是壓縮過的版本.
uglifyjs test.js -m -o test.min.js // 比上面多一個參數 -m 意思是縮小變量名字,縮小后變量名成a,b之類的了.
5.其它參數...
uglifyjs -h // 這個命令可查看參數列表,功能各種各樣.今天就不研究下...第4部的兩個命令執行后,去掉了注釋和空格轉行之類,-m縮短變量名..已經初步達到目的了.
壓縮CSS:
1.打開CMD 執行 npm install uglifycss -g // 參考地址:https://www.npmjs.com/package/uglifycss
2.嘗試壓縮一個CSS試試:
uglifycss test.css > test.min.css // 第一個參數是要壓縮的源CSS,>號后面的參數是輸出到這個min.css文件.參數就沒研究了.
方式二:使用 Microsoft AjaxMin
下載地址:http://ajaxmin.codeplex.com/
vs使用nuget找AjaxMin 作者:Microsoft Corporation,Ron Logan
壓縮JS:
Microsoft.Ajax.Utilities.Minifier ajaxmin = new Microsoft.Ajax.Utilities.Minifier();
var jssource = File.ReadAllText(@"xxx.js");
var jsminresult = ajaxmin.MinifyJavaScript(jssource);// 得到壓縮后的js文件
壓縮CSS:
var csssource = File.ReadAllText(@"xxx.css");
var cssminresult = ajaxmin.MinifyStyleSheet(csssource);// 得到壓縮后的css文件
方式三:使用 YUICompressor.NET
下載地址:http://yuicompressor.codeplex.com/
vs使用nuget找YUICompressor.NET 作者:Pure Krome and freeranger
注意添加的程序集有兩個 EcmaScript.NET 和 Yahoo.Yui.Compressor 在使用時發現在release下運行時,如果沒有引用EcmaScript.Net庫,會報錯誤
壓縮JS:
JavaScriptCompressor yuijs = new JavaScriptCompressor { Encoding = Encoding.UTF8 };
var jssource = File.ReadAllText(@"xxx.js");
var jsminresult = yuijs.Compress(jssource);// 得到壓縮后的js文件
壓縮CSS:
CssCompressor yuicss = new CssCompressor();
var csssource = File.ReadAllText(@"xxx.css");
var cssminresult = yuicss.Compress(csssource);// 得到壓縮后的css文件
結論:
方式一需要安裝NODE.JS和一大堆包,不方便.但會NODE果非常合適
方式二和三都是.NET上的庫,可以直接使用,代碼也方便快捷.
推薦使用方式三,據說是"標准的壓縮方式".