【转】asp.net mvc css/js压缩合并 --- combres
转自: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 ,回车,显示如下:
可以看到comberes.mvc 的版本,这里我安装的是 2.2.2.0 版本 输入 install-package -id Combres.Mvc -version 2.2.2.0 , 回车自动安装combres.mvc
(4)安装完成,会自动生成App_Data/combres.xml,这个就是设置压缩/合并的文件配置。这个是我的配置
- <??>
- <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
具体添加压缩方法的配置节点,用于选择哪种方法对资源文件进行压缩
- <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上添加相应的属性即可,配置后像下面这样:
- <??>
- <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 第一行添加
- routes.AddCombresRoute("Combres");
(7)在需要的页面上添加:
- @using Combres.Mvc;
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title>@ViewBag.Title</title>
- @Html.CombresLink("siteCss")
- @Html.CombresLink("siteBaseCss")
【转】asp.net mvc css/js压缩合并 --- combres的更多相关文章
- ASP.NET MVC 中CSS JS压缩合并 功能的使用方法
通过压缩合并js文件和css文件,可以减少 服务器的响应 次数和 流量,可以大大减小服务器的压力,对网站优化有比较明显的帮助!压缩合并 css 文件和js文件是网站优化的一个 比较常用的方法. ASP ...
- gulp之css,js压缩合并加密替换
为了防止客户端的静态资源缓存,我们需要每次更新css或js的时候,通过md5或时间戳等方式重新命名静态资源.让客户端可以重新请求资源,而不是从缓存里取.然后html模板里的src也要做相应的修改.当然 ...
- Asp.Net MVC 页面代码压缩筛选器-自定义删除无效内容
Asp.Net MVC 页面代码压缩筛选器 首先定义以下筛选器,用于代码压缩. /*页面压缩 筛选器*/ public class WhiteSpaceFilter : Stream { privat ...
- ASP.NET MVC之Bundle压缩JS和CSS
介绍Bundle之前先引用<淘宝技术这十年>中一段话,对Web前端稍微有点常识的人都应该知道,浏览器下一步会加载页面中用到的CSS.JS(JavaScript).图片等样式.脚本和资源文件 ...
- [Asp.net Mvc]为js,css静态文件添加版本号
方式一: 思路 string version = ViewBag.Version; @Scripts.RenderFormat("<script type=\"text/ja ...
- Asp.net MVC CSS/Javascript Bundle 配置文件
Asp.net mvc 中使用 Web Optimization 可以合并.压缩JS和CSS文件,但是每次修改都要改代码 ~/App_Start/BundleConfig.cs ,遂有了将它挪到配置文 ...
- RequireJS模块化后JS压缩合并
使用RequireJS模块化后代码被拆分成多个JS文件了,在部署生产环境需要压缩合并,RequireJS提供了一个打包压缩工具r.js来对模块进行合并压缩.r.js非常强大,不但可以压缩js,css, ...
- ASP.NET MVC+Vue.js实现联系人管理
接触了一天vue.js,简单浏览了一本关于vue的电子书,就开始动手使用ASP.NET MVC和Vue.js开发一个联系人管理的小程序. 先看一下这个联系人管理的小程序的界面,也就是我们大概要实现什么 ...
- ASP.NET(支持 ASP.NET MVC)性能优化包 - combres 介绍
项目地址:https://github.com/buunguyen/combres Overview Combres (previously hosted in CodePlex) helps you ...
随机推荐
- Struts2的手工自定义验证--完整实例代码
ActionSupport类实现了Validateable.ValidationAware接口, 其中Validateable接口就是验证器接口,该接口有一个validate()方法, validat ...
- Nginx+Tomcat简单集群
1.软件准备下载Nginx和Tomcat解压到一个目录2.修改Tomcat的端口Tomcat1:修改Server.xmlTomcat2:修改Server.xml3.测试Tomcat是否正常运行分别访问 ...
- 百视通与微软共同宣布9月在华发布Xbox One
4月30日消息,百视通今日与微软共同宣布,于今年9月在华发布Xbox One.这是继百视通与微软2013年9月成立合资公司后,双方合作的又一进展. 微软副总裁,硬件及设计工作室部门主管尤瑟夫 •梅赫迪 ...
- Mysql数据库的读写分离
读写分离,即在主数据库中进行写操作(也可以进行增.删.改操作),在从数据库中进行读操作.在正常情况下,我们对主数据库进行的是增.删.改.查操作,数据库的写入时间比较长,而查询时间短,所以为了提高数据库 ...
- 给hackrf加上1602LCD以及UART(附带固件编译方法)
代码库(在hackrf原代码库基础上只添了两个文件,改了一个文件): https://github.com/JiaoXianjun/hackrf-UART-1602LCD 目的主要是为了帮助想更改调试 ...
- IOS工作中的问题(转)
1.UITableView的scrollDelegate问题 下午遇到一个奇怪的问题,之前都没有注意过,由于A VC中要实现tableView和其他View位置的联动,所以实现了tableView的d ...
- Swift中获取系统语言
//en-US zh-HK zh-TW zh-Hans-US var lng:String { let userDefault = NSUserDefaults.standardUserDefault ...
- jeecms系统使用介绍——通过二次开发实现对word、pdf、txt等上传附件的全文检索
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/76912307 本文出自[我是干勾鱼的博客] 之前在文章<基于Java的门户 ...
- Linux C socket 封装
/************************************************************************** * Linux C socket 封装 * 声明 ...
- 有用的sql语句积累
⑴. sql查询未被外键关联的数据 select * from bb b where not exists (select 1 from aa a where a.bid=b.bid)