转自: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. Android JNI作用及其详解

    Android JNI作用及其详解 Java Native Interface (JNI)标准是Java平台的一部分,它允许Java代码和其他语言写的代码进行交互.JNI 是本地编程接口,它使得在 J ...

  2. 关于命名空间的using声明

    1.std::cin.std::cout 意思就是编译器通过作用域运算符左边的作用域,去找右边的名字.有点繁琐. 2.可以使用using声明:using namespace::name; 例如,usi ...

  3. CUDA ---- Memory Model

    Memory kernel性能高低是不能单纯的从warp的执行上来解释的.比如之前博文涉及到的,将block的维度设置为warp大小的一半会导致load efficiency降低,这个问题无法用war ...

  4. koa 框架 介绍 -- 待续

    对比 express  更小  更健壮 解决繁琐的回调函数嵌套, 并极大地提升错误处理的效率 Koa 的核心设计思路是为中间件层 提供高级语法糖封装, (其实就是用了 ES6的生成器, 能中断函数的执 ...

  5. GSM中时隙、信道、突发序列、帧的解释

    刚从论坛中看到有人问GSM中时隙.信道.突发序列.帧知识.今天我们数字通信正好上到这一块,我就根据我知道的和网上搜索的回答! 1.时分多路复用技术 FDMA:频分多址 TDMA:时分多址 CDMA:码 ...

  6. SWIFT中使用AFNetwroking访问网络数据

    AFNetworking 是 iOS 一个使用很方便的第三方网络开发框架,它可以很轻松的从一个URL地址内获取JSON数据. 在使用它时我用到包管理器Cocoapods 不懂的请移步: Cocoapo ...

  7. 【转载】Java Web的web.xml文件作用及基本配置

    其实web.xml就是asp.net的web.config一个道理. 说明: 一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的. web.xml文件是用来 ...

  8. magento模板 -- 如何安装magento模板

    在magento下面安装模板首先要了解magento的模板结构: 每个magento模板都包含如下的类似结构: --app/design/frontend/default/[模板名称] ------- ...

  9. Android Gradle 理解

    /********************************************************************************* * Android Gradle ...

  10. Texas Instruments matrix-gui-2.0 hacking -- generate.php

    <?php /* * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ * * * Redistrib ...