转自: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. python Django 之 Model ORM inspectdb(数据库表反向生成)

    在前一篇我们说了,mybatis-generator反向生成代码. 这里我们开始说如何在django中反向生成mysql model代码. 我们在展示django ORM反向生成之前,我们先说一下怎么 ...

  2. ADOX创建ACCESS 表时,几个附加属性

     中文  英文 允许空字符串 Jet OLEDB:Allow Zero Length Unicode压缩 Jet OLEDB:Compressed UNICODE Strings 有效性规则 Jet ...

  3. Java——IO类,字符流写数据

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  4. Maven入门-3.pom文件和settings文件

    1.pom.xml文件介绍2.settings.xml文件介绍 1.pom.xml文件介绍 Maven项目的核心是pom.xml,pom(Project Object Model项目对象模型) pom ...

  5. Beta 冲刺(6/7)

    前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10129063.html 作业博客:https://edu.cnblogs.com/campus ...

  6. 使用 Git & Repo 下载代码

    客户端安装 Git 安装 git,gitk 网络连接正常的情况下: $ sudo apt-get install git-core gitk git-gui 不能上网,有.deb安装包的,请执行: $ ...

  7. pyqt5:图片自适应QLabel大小和图片移除

    参考链接: https://www.e-learn.cn/content/qita/669569 图片自适应QLabel大小 # coding=utf- import sys from PyQt5.Q ...

  8. Unity3D安卓程序中提示窗与常用静态方法封装

    Unity3D/安卓封装SDK常用方法 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 IO -- - ...

  9. poj-1015(状态转移的方向(01背包)和结果的输出)

    #include <iostream> #include <algorithm> #include <cstring> #include <vector> ...

  10. ES6必知必会 (一)—— 变量声明和结构赋值

    本文章属于个人对es6一些比较常用的语法的总结归纳,其主要参考阮一峰大神的<a href="http://es6.ruanyifeng.com//">ECMAScrip ...