فشرده سازی فایل های CSS و JavaScript بصورت خودکار توسط MS Ajax Minifier
نویسنده: علیرضا اسمرام
تاریخ: ۱۳۹۱/۰۴/۲۹ ۱۶:۲۹
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
<Import Project="$(MSBuildExtensionsPath)\Microsoft\MicrosoftAjax\ajaxmin.tasks" />
<Target Name="AfterBuild">
<ItemGroup>
<JS Include="**\*.js" Exclude="**\*.min.js;Scripts\*.js" />
</ItemGroup>
<ItemGroup>
<CSS Include="**\*.css" Exclude="**\*.min.css" />
</ItemGroup>
<AjaxMin
JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js"
CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css" />
</Target>
using System.Globalization;
using System.IO;
using System.Text;
using Yahoo.Yui.Compressor;
namespace Deploy.Core
{
public static class CompressCssJs
{
public static void Compress(string file)
{
var ext = Path.GetExtension(file).ToLower();
switch (ext)
{
case ".css":
compressCss(file);
break;
case ".js":
if (!file.ToLower().EndsWith(".min.js") && !file.ToLower().EndsWith(".pack.js"))
compressJs(file);
break;
}
}
static void compressCss(string file)
{
var css = File.ReadAllText(file);
var compressedCss = new CssCompressor().Compress(css);
File.WriteAllText(file, compressedCss, Encoding.UTF8);
}
static void compressJs(string file)
{
var js = File.ReadAllText(file);
var compressedJavaScript = new JavaScriptCompressor
{
CompressionType = CompressionType.Standard,
DisableOptimizations = false,
Encoding = Encoding.UTF8,
LineBreakPosition = -1,
ObfuscateJavascript = true,
PreserveAllSemicolons = false,
ThreadCulture = CultureInfo.CurrentUICulture,
IgnoreEval = false,
LoggingType = LoggingType.None
}.Compress(js);
File.WriteAllText(file, compressedJavaScript, Encoding.UTF8);
}
}
}
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="9" dynamicCompressionLevel="4" />
<scheme name="deflate" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="9" dynamicCompressionLevel="4" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/atom+xml; charset=utf-8" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>