浅谈ASP.NET中MVC4的JS/CSS打包压缩功能

   2015-06-23 0
核心提示:打包(Bundling)及压缩(Minification)指的是将多个js文件或css文件打包成单一文件并压缩的做法,如此可减少浏览器需下载多个文件案才能完成网页显示的延迟感等,能有效缩小文件案体积,提高传输效率,提供使用者更流畅的浏览体验。

今天在使用MVC4打包压缩功能@Scripts.Render("~/bundles/jquery") 的时候产生了一些疑惑,问什么在App_Start文件夹下BundleConfig.cs文件内

bundles.Add(new ScriptBundle("~/bundles/jquery").Include( 
            "~/Scripts/jquery-{version}.js", 
            "~/Scripts/jquery.unobtrusive-ajax.js" 
            )); 

这样写可以,但是

bundles.Add(new ScriptBundle("~/bundles/jquery").Include( 
            "~/Scripts/jquery-{version}.js", 
            "~/Scripts/jquery.unobtrusive-ajax.min.js" 
            )); 

这样写却不可以,我的目录里明明有

"~/Scripts/jquery.unobtrusive-ajax.min.js" 

这个文件啊

通过调试跟踪发现,MVC内部已经对“.min.js”文件做了过滤

浅谈ASP.NET中MVC4的JS/CSS打包压缩功能

通过反编译这个DLL文件

浅谈ASP.NET中MVC4的JS/CSS打包压缩功能

可以看到下面反编译后的代码:

public static void AddDefaultIgnorePatterns(IgnoreList ignoreList) 
{ 
  if (ignoreList == null) 
  { 
    throw new ArgumentNullException("ignoreList"); 
  } 
  ignoreList.Ignore("*.intellisense.js"); 
  ignoreList.Ignore("*-vsdoc.js"); 
  ignoreList.Ignore("*.debug.js", OptimizationMode.WhenEnabled); 
  ignoreList.Ignore("*.min.js", OptimizationMode.WhenDisabled); 
  ignoreList.Ignore("*.min.css", OptimizationMode.WhenDisabled); 
} 

 

由此我们可以知道MVC默认帮我们过滤了后缀名为 .intellisense.js、-vsdoc.js、.debug.js、.min.js、.min.css的文件,这也就是我们引用.min.js文件不起作用的原因了。

以上所述就是本文的全部内容了,希望大家能够喜欢。

 
标签: MVC 打包压缩
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • asp.net mvc多条件+分页查询解决方案
    


            
asp.net mvc多条件+分页查询解决方案
    asp.net mvc多条件+分页查询解决方案
    http://www.cnblogs.com/nickppa/p/3232535.html开发环境vs2010css:bootstrapjs:jquery    bootstrap paginator原先只是想做个mvc的分页,但是一般的数据展现都需要检索条件,而且是多个条件,所以就变成了MVC多条件+分页查询因为美工不是很好,所以用的是
    02-09
  • 教程一:用ASP.NET MVC创建一个TaskList应用程序
    教程一:用ASP.NET MVC创建一个TaskList应用程
    原文地址:http://www.asp.net/learn/mvc/tutorial-01-cs.aspx本篇教程目的是让你了解创建一个ASP.NET程序是“怎么样子的”。在这篇教程里,我会从头到尾快速地创建一整个ASP.NETMVC程序。我会告诉你如何创建一个简单的TaskList程序。如果你跟ASP或者APS.NET
    02-09
  • [C#]使用 AltCover 获得代码覆盖率 - E2E Test 和 Unit Test
    [C#]使用 AltCover 获得代码覆盖率 - E2E Test
    背景在 CI/CD 流程当中,测试是 CI 中很重要的部分。跟开发人员关系最大的就是单元测试,单元测试编写完成之后,我们可以使用 IDE 或者 dot cover 等工具获得单元测试对于业务代码的覆盖率。不过我们需要一个独立的 CLI 工具,这样我们才能够在 Jenkins 的 CI
  • Ruby中文乱码问题 springmvc中文乱码
    中文乱码问题解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*-(EMAC写法) 或者 #coding=utf-8 就行了。源代码文件中,若包含中文编码,则需要注意两点:1. 必须在首行添加 # -*- coding: UTF-8 -*-,告诉解释器使用utf-8来解析源码。2. 必须设置编
    02-09
  • asp.net MVC 导出查询结果到Excel
    首先在View视图中有一表单form,导出按钮input class="btn export" type="button" value="导出" /,在js写入点击导出按钮的代码,如下:$(".export").click(function () {window.location.href = "/Statis/ExportExecel?data=" + $("form").serial
    02-09
  • ASP.NET MVC3 学习心得------路由机制
    9.1 理解URLURL满足的要求:l 域名易于记忆和拼写l 简短、易输入l 可以反应出站点的结构l 可破解,用户可以通过移除URL的末尾,进而达到更高层次的信息体系结构l 持久、不能变化9.2路由机制的概述ASP.NET MVC中路由机制的两种用途:l 匹配传入的请求
    02-09
  • 从零开始实现asp.net MVC4框架网站的用户登录以及权限验证模块 详细教程
    从零开始实现asp.net MVC4框架网站的用户登录以
    https://www.cnblogs.com/cjm123/p/8515226.html用户登录与权限验证是网站不可缺少的一部分功能,asp.net MVC4框架内置了用于实现该功能的类库,只需要简单搭建即可完成该功能.下面详细介绍该功能的完成方法,尾部有实例源码下载,希望可以给刚开始接触MVC的朋友
    02-09
  • ASP.NET MVC 2扩展点之Model Binder实例分析
    ASP.NET MVC 2扩展点之Model Binder实例分析
    MVC 2的Model可以是任意一个类。许多教程只讲“ADO.NET实体数据模型”Model1.edmx然后连接mssql2005以上,自动生成数据模型。这样会让初学者不能更好地理解Model与View之间的关系。这里我详细介绍一下怎样用任意一个类做Model,这样你也可以在MVC项目中使用Ac
    02-09
  • 学习 《一步步搭建自己的博客》 第一版 之异常
    这篇博客主要是为了细说异常 , 来解读博主是如何处理异常的    上篇地址 :http://www.cnblogs.com/izhiniao/p/4776999.html首先我们从 博主的封装开始 :那么如何快速 找到这些呢 , 既然是异常 ,那么肯定是错误 , 那么就是 MvcApplication 中的 Appl
    02-09
  • asp.net mvc cooike 购物车 如何实现
    先上代码:1. ShoppingCartService 类using System;using System.Collections.Generic;using System.Linq;using LinFx;using LinFx.Data;using LinFx.Security;using LinFx.Web;using YLSPay.Data.Entity;namespace YLSPay.Data.Service{public class Shoppin
    02-09
点击排行