【转】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 ...
随机推荐
- java关于null的介绍及比较问题..未完待续
非对象比较内容,用== 对象比较内容,用相应的方法比如equais. demo1
- Python 数据类型--集合(set)
一.集合(set) 集合也是一种数据类型,一个类似列表的,无序的,不重复的.它主要有两大作用 1.把一个列表变为集合,就自动去重了,不需要写额外的代码 2.关系测试,测试两组数据之间的交际.差集.并集 ...
- pyinstaller又踩一坑, configparser os.mknod
在使用pyinstaller时,有使用configparser模块. 使用相对路径.在pycharm中测试,正常,打包成exe,就出错了 换用绝对路径, print(os.getcwd()) fp_d ...
- (转载)Hibernate的事务管理
Hibernate的事务管理 事务(Transaction)是工作中的基本逻辑单位,可以用于确保数据库能够被正确修改,避免数据只修改了一部分而导致数据不完整,或者在修改时受到用户干扰.作为一名软件设计 ...
- 玩转X-CTR100 l STM32F4 l 电机正交编码器
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器的电机正交编码器,X- ...
- Selenium+java上传文件
自动化调用: AutoIT脚本编译成可执行文件后,放在本地的某一个目录下 上传文件时,首先定位到[上传]字样文本,点击该按钮 执行编辑后的可执行文件,实现文件上传 一.安装AutoIT3,主要用到的工 ...
- ubuntu16.04 下 NVIDIA GTX1050ti 显卡驱动 PPA安装
本文参考资料链接: http://blog.csdn.net/10km/article/details/61191230 前几天在京东商城上花了6999元买了台笔记本(惠普(HP)暗影精灵II代Pro ...
- Robot Framework 自定义库
进入 python安装路径\Lib\site-packages 创建文件夹,库名 创建py文件,myclass.py 创建py文件,__init__.py 导入自定义库 遇到的问题: python版 ...
- DZY Loves Math系列
link 好久没写数学题了,再这样下去吃枣药丸啊. 找一套应该还比较有意思的数学题来做. [bzoj3309]DZY Loves Math 简单推一下. \[\sum_{i=1}^n\sum_{j=1 ...
- 前端内容安全策略(csp)
什么是CSP CSP全称Content Security Policy ,可以直接翻译为内容安全策略,说白了,就是为了页面内容安全而制定的一系列防护策略. 通过CSP所约束的的规责指定可信的内容来源( ...