转自: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,这个就是设置压缩/合并的文件配置。这个是我的配置

  1. <??>
  2. <combrescombres ='urn:combres'>
  3. <resourceSetsurl="~/combres.axd"defaultDuration="30"
  4. defaultVersion="auto"
  5. defaultDebugEnabled="auto">
  6. <resourceSetname="siteCss"type="css">
  7. <resourcepath="~/styles/site.css"/>
  8. <resourcepath="~/styles/jquery-ui-1.7.2.custom.css"/>
  9. </resourceSet>
  10. <resourceSetname="siteJs"type="js">
  11. <resourcepath="~/scripts/jquery-1.4.4.js"/>
  12. <resourcepath="~/scripts/jquery-ui-1.7.2.custom.min.js"/>
  13. </resourceSet>
  14. </resourceSets>
  15. </combres>
  • defaultDuration 默认缓存的时间,单位为天数
  • defaultVersion 合并后的资源版本,在你修改了资源文件后需要对版本进行修改,你可以指定auto或者手动设置一个版本号
  • defaultDebugEnabled 调试的模式,为true时那么资源文件不进行压缩,开发时可以设置成true,上线后设置成false

具体添加压缩方法的配置节点,用于选择哪种方法对资源文件进行压缩

  1. <cssMinifiers>
  2. <minifiername="yui"type="Combres.Minifiers.YuiCssMinifier, Combres">
  3. <paramname="CssCompressionType"type="string"value="StockYuiCompressor"/>
  4. <paramname="ColumnWidth"type="int"value="-1"/>
  5. </minifier>
  6. </cssMinifiers>
  7. <jsMinifiers>
  8. <minifiername="msajax"type="Combres.Minifiers.MSAjaxJSMinifier, Combres"
  9. binderType="Combres.Binders.SimpleObjectBinder, Combres">
  10. <paramname="CollapseToLiteral"type="bool"value="true"/>
  11. <paramname="EvalsAreSafe"type="bool"value="true"/>
  12. <paramname="MacSafariQuirks"type="bool"value="true"/>
  13. <paramname="CatchAsLocal"type="bool"value="true"/>
  14. <paramname="LocalRenaming"type="string"value="CrunchAll"/>
  15. <paramname="OutputMode"type="string"value="SingleLine"/>
  16. <paramname="RemoveUnneededCode"type="bool"value="true"/>
  17. <paramname="StripDebugStatements"type="bool"value="true"/>
  18. </minifier>
  19. </jsMinifiers>

要使用哪种压缩方法,在resourceSet或者在resource上添加相应的属性即可,配置后像下面这样:

  1. <??>
  2. <combrescombres ='urn:combres'>
  3. <cssMinifiers>
  4. <minifiername="yui"type="Combres.Minifiers.YuiCssMinifier, Combres">
  5. <paramname="CssCompressionType"type="string"value="StockYuiCompressor"/>
  6. <paramname="ColumnWidth"type="int"value="-1"/>
  7. </minifier>
  8. </cssMinifiers>
  9. <jsMinifiers>
  10. <minifiername="msajax"type="Combres.Minifiers.MSAjaxJSMinifier, Combres"
  11. binderType="Combres.Binders.SimpleObjectBinder, Combres">
  12. <paramname="CollapseToLiteral"type="bool"value="true"/>
  13. <paramname="EvalsAreSafe"type="bool"value="true"/>
  14. <paramname="MacSafariQuirks"type="bool"value="true"/>
  15. <paramname="CatchAsLocal"type="bool"value="true"/>
  16. <paramname="LocalRenaming"type="string"value="CrunchAll"/>
  17. <paramname="OutputMode"type="string"value="SingleLine"/>
  18. <paramname="RemoveUnneededCode"type="bool"value="true"/>
  19. <paramname="StripDebugStatements"type="bool"value="true"/>
  20. </minifier>
  21. </jsMinifiers>
  22. <resourceSetsurl="~/combres.axd"defaultDuration="30"
  23. defaultVersion="auto"
  24. defaultDebugEnabled="auto">
  25. <resourceSetname="siteCss"type="css"minifierRef="yui">
  26. <resourcepath="~/styles/site.css"/>
  27. <resourcepath="~/styles/jquery-ui-1.7.2.custom.css"/>
  28. </resourceSet>
  29. <resourceSetname="siteJs"type="js">
  30. <resourcepath="~/scripts/jquery-1.4.4.js"minifierRef="msajax"  />
  31. <resourcepath="~/scripts/jquery-ui-1.7.2.custom.min.js"minifierRef="off"/>
  32. </resourceSet>
  33. </resourceSets>
  34. </combres>

(5)删除 AppStart/Combres.cs,移除WebActivetor的引用。

(6)打开 global.asax 添加 using Combres;的引用。在 RegisterRoutes 第一行添加

  1. routes.AddCombresRoute("Combres");

(7)在需要的页面上添加:

  1. @using Combres.Mvc;
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="utf-8" />
  6. <title>@ViewBag.Title</title>
  7. @Html.CombresLink("siteCss")
  8. @Html.CombresLink("siteBaseCss")

【转】asp.net mvc css/js压缩合并 --- combres的更多相关文章

  1. ASP.NET MVC 中CSS JS压缩合并 功能的使用方法

    通过压缩合并js文件和css文件,可以减少 服务器的响应 次数和 流量,可以大大减小服务器的压力,对网站优化有比较明显的帮助!压缩合并 css 文件和js文件是网站优化的一个 比较常用的方法. ASP ...

  2. gulp之css,js压缩合并加密替换

    为了防止客户端的静态资源缓存,我们需要每次更新css或js的时候,通过md5或时间戳等方式重新命名静态资源.让客户端可以重新请求资源,而不是从缓存里取.然后html模板里的src也要做相应的修改.当然 ...

  3. Asp.Net MVC 页面代码压缩筛选器-自定义删除无效内容

    Asp.Net MVC 页面代码压缩筛选器 首先定义以下筛选器,用于代码压缩. /*页面压缩 筛选器*/ public class WhiteSpaceFilter : Stream { privat ...

  4. ASP.NET MVC之Bundle压缩JS和CSS

    介绍Bundle之前先引用<淘宝技术这十年>中一段话,对Web前端稍微有点常识的人都应该知道,浏览器下一步会加载页面中用到的CSS.JS(JavaScript).图片等样式.脚本和资源文件 ...

  5. [Asp.net Mvc]为js,css静态文件添加版本号

    方式一: 思路 string version = ViewBag.Version; @Scripts.RenderFormat("<script type=\"text/ja ...

  6. Asp.net MVC CSS/Javascript Bundle 配置文件

    Asp.net mvc 中使用 Web Optimization 可以合并.压缩JS和CSS文件,但是每次修改都要改代码 ~/App_Start/BundleConfig.cs ,遂有了将它挪到配置文 ...

  7. RequireJS模块化后JS压缩合并

    使用RequireJS模块化后代码被拆分成多个JS文件了,在部署生产环境需要压缩合并,RequireJS提供了一个打包压缩工具r.js来对模块进行合并压缩.r.js非常强大,不但可以压缩js,css, ...

  8. ASP.NET MVC+Vue.js实现联系人管理

    接触了一天vue.js,简单浏览了一本关于vue的电子书,就开始动手使用ASP.NET MVC和Vue.js开发一个联系人管理的小程序. 先看一下这个联系人管理的小程序的界面,也就是我们大概要实现什么 ...

  9. ASP.NET(支持 ASP.NET MVC)性能优化包 - combres 介绍

    项目地址:https://github.com/buunguyen/combres Overview Combres (previously hosted in CodePlex) helps you ...

随机推荐

  1. 通信网络 2G 3G 4G 和路由器2.4G 5G的区分和关系

    通信网络 2G 3G 4G 和路由器2.4G 5G的区分和关系 作者:魔仙圆缘链接:https://www.zhihu.com/question/34076333/answer/57850104来源: ...

  2. pymssql

    用与连接sql server数据库的python接口 import pymssql 1.配置信息 conf={ "host": "118.190.41.846:9099& ...

  3. C++内置类型的机器实现

    大多数计算机以2的整数次幂个比特作为块来处理内存,可寻址的最小内存块称为“字节(byte)”,存储的基本单元称为“字(word)”,它通常有几个字节组成. 计算机以比特序列存储数据,即01000101 ...

  4. 获取bean的两种方式

    BeanFactory方式: 1: public void testFactory(){ ResourcePatternResolver rpt=new PathMatchingResourcePat ...

  5. oracle数据类型及其隐式转换

    oracle有三种最基本的数据类型,即字符型.数值型.日期型. oracle提供的单行函数中,针对不同的数据类型,提供大量实用的函数,同时提供一系列数据类型转换函数,如下: 1)to_char     ...

  6. webpack 性能优化 -- 待续

    文章 这篇文章挺不错的, 各方面优化都提到了, 有空研究下 文章 这个文章提出 , 增量打包用 webpack-watch 会让你打包速度飞快,  react不参与打包, 不require, 而是放在 ...

  7. define 常量的定义和读取

    define(‘常量’,‘常量值’)----------------------define来定义常量, echo 也能输出常量, get_defined_constants(true)------- ...

  8. Android Mms专题之:Mms源码结构

    从软件的功能角度来讲,Mms分为对话列表,消息列表,短信编辑,彩信编辑,短信显示,彩信显示和配置. 从实现的角度来看,它分为GUI展示层,发送/接收,彩信解析,彩信附件,信息数据等,这些分类对应着源码 ...

  9. c++下基于windows socket的单线程服务器客户端程序(基于TCP协议)

    今天自己编写了一个简单的c++服务器客户端程序,注释较详细,在此做个笔记. windows下socket编程的主要流程可概括如下:初始化ws2_32.dll动态库-->创建套接字-->绑定 ...

  10. SWIFT中切換UIContainerView內的Controller

    如下,一个UIContainerView内切换两个Controller,当点击登录的时候UIContainerView的视图为LoginController,当点击登记的时候UIContainerVi ...