zoukankan      html  css  js  c++  java
  • 【转】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 ,回车,显示如下:

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

    [html] view plaincopy
     
    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

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

    [html] view plaincopy
     
    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上添加相应的属性即可,配置后像下面这样:

    [html] view plaincopy
     
    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 第一行添加

    [csharp] view plaincopy
     
    1. routes.AddCombresRoute("Combres");  
    (7)在需要的页面上添加:
    [csharp] view plaincopy
     
    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")   
  • 相关阅读:
    windows 7 和 windows server 2013 重置SID
    设置 sharepoint 会话过期时间
    Sharepoint SPQuery语法
    sharepoint 2013 浏览器关掉cookies无效的脚本
    ueditor 集成使用 (sharepoint 集成)
    c#怎么获取当前页面的url
    部署Office Web Apps Server并配置其与SharePoint 2013的集成
    sharepoint 查询一个站点下所有的调查问卷 调查问卷的列表类型
    sharepoint 2013基于AD的Form表单登录(一)——登录配置
    你必须要知道的HTTP协议原理
  • 原文地址:https://www.cnblogs.com/pingfanren/p/5107883.html
Copyright © 2011-2022 走看看