【转】asp.net mvc css/js压缩合并 --- combres
2016-01-06 23:40
639 查看
转自:http://www.cnblogs.com/zxktxj/archive/2012/05/30/2526246.html
NuGet 网站:http://nuget.codeplex.com/releases/view/64974
Combres 英文介绍:http://www.codeproject.com/KB/aspnet/combres2.aspx
mvc3的设置和使用过程,模板引擎是razor的。
使用:
(1)直接使用vs2010的 NuGet 功能
(2)新建mvc3项目,打开vs2010,视图--->其他窗口--->Package Manager Console(需要系统程序包 Windows PowerShell 2.0,没有请安装)
(3)输入 get-package -remote -filter Combres.Mvc ,回车,显示如下:
PM> get-package -remote -filter Combres.Mvc Id Version Description -- ------- ----------- combres.mvc 2.2.1.2 Include extension methods for Combres to inte... combres.mvc 2.2.1.5 Include extension methods for Combres to inte... combres.mvc 2.2.1.8 Include extension methods for Combres to inte... combres.mvc 2.2.1.9 Include extension methods for Combres to inte...combres.mvc 2.2.2.0 Include extension methods for Combres to inte... combres.mvc 2.2.2.2 Include extension methods for Combres to inte... combres.mvc 2.2.2.3 Include extension methods for Combres to inte... combres.mvc 2.2.2.4 Include extension methods for Combres to inte... combres.mvc 2.2.2.5 Include extension methods for Combres to inte...
可以看到comberes.mvc 的版本,这里我安装的是 2.2.2.0 版本 输入 install-package -id Combres.Mvc -version 2.2.2.0 , 回车自动安装combres.mvc
(4)安装完成,会自动生成App_Data/combres.xml,这个就是设置压缩/合并的文件配置。这个是我的配置
[html] view plaincopy
<??>
<combrescombres ='urn:combres'>
<resourceSetsurl="~/combres.axd"defaultDuration="30"
defaultVersion="auto"
defaultDebugEnabled="auto">
<resourceSetname="siteCss"type="css">
<resourcepath="~/styles/site.css"/>
<resourcepath="~/styles/jquery-ui-1.7.2.custom.css"/>
</resourceSet>
<resourceSetname="siteJs"type="js">
<resourcepath="~/scripts/jquery-1.4.4.js"/>
<resourcepath="~/scripts/jquery-ui-1.7.2.custom.min.js"/>
</resourceSet>
</resourceSets>
</combres>
defaultDuration 默认缓存的时间,单位为天数
defaultVersion 合并后的资源版本,在你修改了资源文件后需要对版本进行修改,你可以指定auto或者手动设置一个版本号
defaultDebugEnabled 调试的模式,为true时那么资源文件不进行压缩,开发时可以设置成true,上线后设置成false
具体添加压缩方法的配置节点,用于选择哪种方法对资源文件进行压缩
[html] view plaincopy
<cssMinifiers>
<minifiername="yui"type="Combres.Minifiers.YuiCssMinifier, Combres">
<paramname="CssCompressionType"type="string"value="StockYuiCompressor"/>
<paramname="ColumnWidth"type="int"value="-1"/>
</minifier>
</cssMinifiers>
<jsMinifiers>
<minifiername="msajax"type="Combres.Minifiers.MSAjaxJSMinifier, Combres"
binderType="Combres.Binders.SimpleObjectBinder, Combres">
<paramname="CollapseToLiteral"type="bool"value="true"/>
<paramname="EvalsAreSafe"type="bool"value="true"/>
<paramname="MacSafariQuirks"type="bool"value="true"/>
<paramname="CatchAsLocal"type="bool"value="true"/>
<paramname="LocalRenaming"type="string"value="CrunchAll"/>
<paramname="OutputMode"type="string"value="SingleLine"/>
<paramname="RemoveUnneededCode"type="bool"value="true"/>
<paramname="StripDebugStatements"type="bool"value="true"/>
</minifier>
</jsMinifiers>
要使用哪种压缩方法,在resourceSet或者在resource上添加相应的属性即可,配置后像下面这样:
[html] view plaincopy
<??>
<combrescombres ='urn:combres'>
<cssMinifiers>
<minifiername="yui"type="Combres.Minifiers.YuiCssMinifier, Combres">
<paramname="CssCompressionType"type="string"value="StockYuiCompressor"/>
<paramname="ColumnWidth"type="int"value="-1"/>
</minifier>
</cssMinifiers>
<jsMinifiers>
<minifiername="msajax"type="Combres.Minifiers.MSAjaxJSMinifier, Combres"
binderType="Combres.Binders.SimpleObjectBinder, Combres">
<paramname="CollapseToLiteral"type="bool"value="true"/>
<paramname="EvalsAreSafe"type="bool"value="true"/>
<paramname="MacSafariQuirks"type="bool"value="true"/>
<paramname="CatchAsLocal"type="bool"value="true"/>
<paramname="LocalRenaming"type="string"value="CrunchAll"/>
<paramname="OutputMode"type="string"value="SingleLine"/>
<paramname="RemoveUnneededCode"type="bool"value="true"/>
<paramname="StripDebugStatements"type="bool"value="true"/>
</minifier>
</jsMinifiers>
<resourceSetsurl="~/combres.axd"defaultDuration="30"
defaultVersion="auto"
defaultDebugEnabled="auto">
<resourceSetname="siteCss"type="css"minifierRef="yui">
<resourcepath="~/styles/site.css"/>
<resourcepath="~/styles/jquery-ui-1.7.2.custom.css"/>
</resourceSet>
<resourceSetname="siteJs"type="js">
<resourcepath="~/scripts/jquery-1.4.4.js"minifierRef="msajax" />
<resourcepath="~/scripts/jquery-ui-1.7.2.custom.min.js"minifierRef="off"/>
</resourceSet>
</resourceSets>
</combres>
(5)删除 AppStart/Combres.cs,移除WebActivetor的引用。
(6)打开 global.asax 添加 using Combres;的引用。在 RegisterRoutes 第一行添加
[csharp] view plaincopy
routes.AddCombresRoute("Combres");
(7)在需要的页面上添加:
[csharp] view plaincopy
@using Combres.Mvc;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
@Html.CombresLink("siteCss")
@Html.CombresLink("siteBaseCss")
NuGet 网站:http://nuget.codeplex.com/releases/view/64974
Combres 英文介绍:http://www.codeproject.com/KB/aspnet/combres2.aspx
mvc3的设置和使用过程,模板引擎是razor的。
使用:
(1)直接使用vs2010的 NuGet 功能
(2)新建mvc3项目,打开vs2010,视图--->其他窗口--->Package Manager Console(需要系统程序包 Windows PowerShell 2.0,没有请安装)
(3)输入 get-package -remote -filter Combres.Mvc ,回车,显示如下:
PM> get-package -remote -filter Combres.Mvc Id Version Description -- ------- ----------- combres.mvc 2.2.1.2 Include extension methods for Combres to inte... combres.mvc 2.2.1.5 Include extension methods for Combres to inte... combres.mvc 2.2.1.8 Include extension methods for Combres to inte... combres.mvc 2.2.1.9 Include extension methods for Combres to inte...combres.mvc 2.2.2.0 Include extension methods for Combres to inte... combres.mvc 2.2.2.2 Include extension methods for Combres to inte... combres.mvc 2.2.2.3 Include extension methods for Combres to inte... combres.mvc 2.2.2.4 Include extension methods for Combres to inte... combres.mvc 2.2.2.5 Include extension methods for Combres to inte...
可以看到comberes.mvc 的版本,这里我安装的是 2.2.2.0 版本 输入 install-package -id Combres.Mvc -version 2.2.2.0 , 回车自动安装combres.mvc
(4)安装完成,会自动生成App_Data/combres.xml,这个就是设置压缩/合并的文件配置。这个是我的配置
[html] view plaincopy
<??>
<combrescombres ='urn:combres'>
<resourceSetsurl="~/combres.axd"defaultDuration="30"
defaultVersion="auto"
defaultDebugEnabled="auto">
<resourceSetname="siteCss"type="css">
<resourcepath="~/styles/site.css"/>
<resourcepath="~/styles/jquery-ui-1.7.2.custom.css"/>
</resourceSet>
<resourceSetname="siteJs"type="js">
<resourcepath="~/scripts/jquery-1.4.4.js"/>
<resourcepath="~/scripts/jquery-ui-1.7.2.custom.min.js"/>
</resourceSet>
</resourceSets>
</combres>
defaultDuration 默认缓存的时间,单位为天数
defaultVersion 合并后的资源版本,在你修改了资源文件后需要对版本进行修改,你可以指定auto或者手动设置一个版本号
defaultDebugEnabled 调试的模式,为true时那么资源文件不进行压缩,开发时可以设置成true,上线后设置成false
具体添加压缩方法的配置节点,用于选择哪种方法对资源文件进行压缩
[html] view plaincopy
<cssMinifiers>
<minifiername="yui"type="Combres.Minifiers.YuiCssMinifier, Combres">
<paramname="CssCompressionType"type="string"value="StockYuiCompressor"/>
<paramname="ColumnWidth"type="int"value="-1"/>
</minifier>
</cssMinifiers>
<jsMinifiers>
<minifiername="msajax"type="Combres.Minifiers.MSAjaxJSMinifier, Combres"
binderType="Combres.Binders.SimpleObjectBinder, Combres">
<paramname="CollapseToLiteral"type="bool"value="true"/>
<paramname="EvalsAreSafe"type="bool"value="true"/>
<paramname="MacSafariQuirks"type="bool"value="true"/>
<paramname="CatchAsLocal"type="bool"value="true"/>
<paramname="LocalRenaming"type="string"value="CrunchAll"/>
<paramname="OutputMode"type="string"value="SingleLine"/>
<paramname="RemoveUnneededCode"type="bool"value="true"/>
<paramname="StripDebugStatements"type="bool"value="true"/>
</minifier>
</jsMinifiers>
要使用哪种压缩方法,在resourceSet或者在resource上添加相应的属性即可,配置后像下面这样:
[html] view plaincopy
<??>
<combrescombres ='urn:combres'>
<cssMinifiers>
<minifiername="yui"type="Combres.Minifiers.YuiCssMinifier, Combres">
<paramname="CssCompressionType"type="string"value="StockYuiCompressor"/>
<paramname="ColumnWidth"type="int"value="-1"/>
</minifier>
</cssMinifiers>
<jsMinifiers>
<minifiername="msajax"type="Combres.Minifiers.MSAjaxJSMinifier, Combres"
binderType="Combres.Binders.SimpleObjectBinder, Combres">
<paramname="CollapseToLiteral"type="bool"value="true"/>
<paramname="EvalsAreSafe"type="bool"value="true"/>
<paramname="MacSafariQuirks"type="bool"value="true"/>
<paramname="CatchAsLocal"type="bool"value="true"/>
<paramname="LocalRenaming"type="string"value="CrunchAll"/>
<paramname="OutputMode"type="string"value="SingleLine"/>
<paramname="RemoveUnneededCode"type="bool"value="true"/>
<paramname="StripDebugStatements"type="bool"value="true"/>
</minifier>
</jsMinifiers>
<resourceSetsurl="~/combres.axd"defaultDuration="30"
defaultVersion="auto"
defaultDebugEnabled="auto">
<resourceSetname="siteCss"type="css"minifierRef="yui">
<resourcepath="~/styles/site.css"/>
<resourcepath="~/styles/jquery-ui-1.7.2.custom.css"/>
</resourceSet>
<resourceSetname="siteJs"type="js">
<resourcepath="~/scripts/jquery-1.4.4.js"minifierRef="msajax" />
<resourcepath="~/scripts/jquery-ui-1.7.2.custom.min.js"minifierRef="off"/>
</resourceSet>
</resourceSets>
</combres>
(5)删除 AppStart/Combres.cs,移除WebActivetor的引用。
(6)打开 global.asax 添加 using Combres;的引用。在 RegisterRoutes 第一行添加
[csharp] view plaincopy
routes.AddCombresRoute("Combres");
(7)在需要的页面上添加:
[csharp] view plaincopy
@using Combres.Mvc;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
@Html.CombresLink("siteCss")
@Html.CombresLink("siteBaseCss")
相关文章推荐
- asp.net身份验证方式
- ASP.net开发环境Vs环安装注意要点
- ASP.NET上传大文件的问题
- 全新的membership框架Asp.net Identity——绕不过的Claims
- ASP.NET(C#)——DataList控件——商品展示
- Metasploit 攻击winXP
- Asp.net自定义单选复选框控件
- java中HaspMap的使用
- 开发ASP.NET MVC 开发名片二维码生成工具 (原创)
- ASP.NET MVC 入门10、Action Filter 与 内置的Filter实现(实例-防盗链)
- asp.net调用windows服务
- ASP.NET MVC4计划任务实现方法(定时执行某个功能)
- asp.net获取ListView与gridview中当前行的行号
- [Jasper使用总结]iReport报表设计-动态列实现
- Aspxspy中提取执行cmd命令的代码
- asp.net cookie和session的详细使用
- 基于ASP.NET MVC(C#)和Quartz.Net组件实现的定时执行任务调度
- Asp.net 后台添加Meta标签方法
- asp.net获取ListView与gridview中当前行的行号
- Android与Asp.net webApi参数传递