ASP.NET MVC 4 捆绑和缩小实例介绍

 更新时间:2013年06月12日 14:42:00   作者:  
在 ASP.NET MVC 4 中可捆绑多个 css 和 js 文件以减少HTTP请求,并对 css 和 js 文件进行压缩(缩小),这样可提高网站的加载速度
在 ASP.NET MVC 4 中可捆绑多个 css 和 js 文件以减少HTTP请求,并对 css 和 js 文件进行压缩(缩小),这样可提高网站的加载速度。我们选取博客园的 css 文件来看看,在 ASP.NET MVC 4 前,我们引入 css 方法如下:

复制代码 代码如下:

<link href="/Content/Site.css" rel="stylesheet" type="text/css" />
<link href="/Content/sitehome.css" rel="stylesheet" type="text/css" />

在 IE 中使用 F12 查看结果,如图:


mvc 4 捆绑前

在 ASP.NET MVC 4 中,使用下边写法引入 css 文件:

<link href="/Content/css" rel="stylesheet" />

重新运行,结果如下:


mvc 4 捆绑后


可以清楚的看到,在 ASP.NET MVC 4 中使用新方法引入 css 时,网站运行时不仅合并了 css 文件而且压缩了 css 中的代码。双击 css 文件,在响应正文中可以看到:

asp.net mvc 4 缩小

对 js 文件的处理方式同 css 相同,引入方法如下:

复制代码 代码如下:

<script src="/Scripts/js"></script>


ASP.NET MVC 4 中捆绑时,css 排序规则为:先加载 reset.css、normalize.css,其他文件按首字母排序,类似地 js 排序规则为 jquery.js、jquery-ui.js 其他文件同样按首字母排序。有时我们需要在不同页面加载不同的 css 或 js 文件,以减少不必要的文件,下边就让我们看看怎么自定义一个捆绑。

在 Global.asax.cs 文件 Application_Start() 中添加如下代码:

复制代码 代码如下:

//定义名为"mycss"的捆绑,js对应为 new JsMinify()
var b = new Bundle("~/mycss", new CssMinify());
//添加Content文件夹下的所有css文件到捆绑
//第三个参数false表示,Content文件夹下的子文件夹下不添加到捆绑
b.AddDirectory("~/Content", "*.css", false);
//添加到BundleTable
BundleTable.Bundles.Add(b);


这样在需要使用的页面,加入下边的代码即可:

复制代码 代码如下:

<link href="/mycss" rel="Stylesheet" />


总结:ASP.NET MVC 4 捆绑和缩小功能,使得减少 http 请求和压缩 js、css 文件变得非常简单,这样不需要我们手动来合并 js、css 文件,也不需要使用工具来压缩这些文件,使得 js、css 文件的管理变得简单,易于维护,从而将我们从重复的工作中解脱出来。

作者:东奎

相关文章

  • ASP.NET 清除模式窗口数据缓存的操作方式

    ASP.NET 清除模式窗口数据缓存的操作方式

    模式窗口showModalDialog()弹出页面在asp.net中经常用到,接下来为大家介绍下清除模式窗口缓存数据的问题
    2013-04-04
  • ASP.NET Core应用错误处理之三种呈现错误页面的方式

    ASP.NET Core应用错误处理之三种呈现错误页面的方式

    这篇文章主要给大家介绍了关于ASP.NET Core应用错误处理之三种呈现错误页面的方式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • 如何在Asp.Net Core中集成ABP Dapper

    如何在Asp.Net Core中集成ABP Dapper

    这篇文章主要介绍了如何在Asp.Net Core中集成ABP Dapper,帮助大家更好的理解和学习使用Asp.Net Core,感兴趣的朋友可以了解下
    2021-03-03
  • 如何为asp.net网站项目添加子项目

    如何为asp.net网站项目添加子项目

    最近要给公司的电子商务网站添加个圈子的功能.网站功能本来就包含有新闻发布,会员管理,商品购物,后台管理等,现在又要再加上圈子的功能,网站项目越来越复杂,每次编译生成的dll超过100k.这样每次修改任何一个功能中的任何一个小问题都要上传整个dll,并导致整个website的首次访问的重新编译.
    2008-10-10
  • Nlog日志框架集成Seq扩展包

    Nlog日志框架集成Seq扩展包

    这篇文章介绍了Nlog日志框架集成Seq扩展包的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-02-02
  • CKEditor与dotnetcore实现图片上传功能

    CKEditor与dotnetcore实现图片上传功能

    这篇文章主要为大家详细介绍了CKEditor与dotnetcore实现图片上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • asp.net中C#实现手动回收内存的方法

    asp.net中C#实现手动回收内存的方法

    这篇文章主要介绍了asp.net中C#实现手动回收内存的方法,包括System.GC.Collect方法的使用及缓存技术的分析,具有一定的实用价值,需要的朋友可以参考下
    2014-12-12
  • Json日期格式问题的四种解决方法(超详细)

    Json日期格式问题的四种解决方法(超详细)

    这篇文章主要介绍了Json日期格式问题的四种解决方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • ASP.NET网页打印(只打印相关内容/自写功能)

    ASP.NET网页打印(只打印相关内容/自写功能)

    朋友要求在前段时间完成的新闻的网站上加上一个功能,就是在每篇新闻浏览的页面, 加一个打印铵钮。让用户一点打印,能把整篇文章打印
    2013-01-01
  • ASP.NET Core 文件响应压缩的常见使用误区

    ASP.NET Core 文件响应压缩的常见使用误区

    在微软官方文档中,未明确指出文件压缩功能的使用误区。本文将对 ASP.NET Core 文件响应压缩的常见使用误区做出说明。
    2021-05-05

最新评论