天天看點

C#Css/Js靜态檔案壓縮--Yui.Compressor.Net

一.Asp.Net 自帶靜态檔案壓縮工具包

Microsoft.AspNet.Web.Optimization

http://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization/1.1.3

但好像沒有提供可直接條用的壓縮方法,并且再用mvc4.0的時候,同一個網站多個域名也出現了一些問題。于是有了下面

二.使用Yahoo for .Net 的壓縮工具,Nuget包名稱:YUICompressor.NET

Yahoo.Yui.Compressor.dll

Nuget包源碼位址:http://yuicompressor.codeplex.com/documentation

Git源碼位址:https://github.com/PureKrome/YUICompressor.NET

使用方法:

1.使用指令

Install-Package YUICompressor.NET      

2.使用管理Nuget包工具

C#Css/Js靜态檔案壓縮--Yui.Compressor.Net

三、壓縮方法使用

1.css

//讀取Css檔案并壓縮另存檔案
CssCompressor compressor = new CssCompressor();
Console.WriteLine("預設編碼:" + compressor.ContentType);
string filename = @"L:\ABCSolution\StaticFile\StaticFile\Css\WLSite.css";
string newfilename = @"L:\ABCSolution\StaticFile\StaticFile\Css\WLSite.min.css";

string source = File.ReadAllText(filename);
source = compressor.Compress(source);
File.WriteAllText(newfilename, source);      

2.Js

//Javascript 壓縮
JavaScriptCompressor compressor = new JavaScriptCompressor();
Console.WriteLine("預設編碼:" + compressor.Encoding.EncodingName);
Console.WriteLine("預設檔案類型:" + compressor.ContentType);
//使用utf-8 編碼檔案
compressor.Encoding = Encoding.UTF8;
string filename = @"L:\ABCSolution\StaticFile\StaticFile\Js\cover3.0.js";
string newfilename = @"L:\ABCSolution\StaticFile\StaticFile\Js\cover3.0.min.js";

string source = File.ReadAllText(filename);
source = compressor.Compress(source);
File.WriteAllText(newfilename, source);      

四、自開發壓縮工具

工具軟體下載下傳:

51cto:http://down.51cto.com/data/2216496

csdn:http://download.csdn.net/detail/u011127019/9512366

工具git源代碼:http://git.oschina.net/tiama3798/CompressorTool

C#Css/Js靜态檔案壓縮--Yui.Compressor.Net
C#Css/Js靜态檔案壓縮--Yui.Compressor.Net