全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Asp.net MVC下使用Bundle合并、压缩js与css文件详解

前言

介绍本文的正式内容之前先引用《淘宝技术这十年》中一段话,对Web前端稍微有点常识的人都应该知道,浏览器下一步会加载页面中用到的CSS、JS(JavaScript)、图片等样式、脚本和资源文件。但是可能相对较少的人才会知道,你的浏览器在同一个域名下并发加载的资源数量是有限的,例如IE 6和IE 7是两个,IE 8是6个,chrome各版本不大一样,一般是4~6个。Bundle是ASP.NET 4.5中的一个新特性,可 用来将js和css进行压缩(多个文件可以打包成一个文件,也可以说是合并多个文件),并且可以区分调试和非调试,在调试时不进行压缩,以原始方式显示出来,以方便查找问题。下面话不多说,来看看详细的介绍吧。

一个例子

新建asp.net mvc项目,在App_Start文件夹中你可以看到一个叫做BundleConfig.cs的类,

该类内容如下:

public class BundleConfig
 {
 // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
 public static void RegisterBundles(BundleCollection bundles)
 {
 bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
  "~/Scripts/jquery-{version}.js"));

 bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
  "~/Scripts/jquery.validate*"));

 // Use the development version of Modernizr to develop with and learn from. Then, when you're
 // ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
 bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
  "~/Scripts/modernizr-*"));

 bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
  "~/Scripts/bootstrap.js",
  "~/Scripts/respond.js"));

 bundles.Add(new StyleBundle("~/Content/css").Include(
  "~/Content/bootstrap.css",
  "~/Content/site.css"));
 }
 }

如上代码所示,压缩和合并分两种对象ScriptBundle和StyleBundle。

namespace System.Web.Optimization
{
 //
 // Summary:
 // Represents a bundle that does Js Minification.
 public class ScriptBundle : Bundle
 {
 //
 // Summary:
 // Initializes a new instance of the System.Web.Optimization.ScriptBundle class
 // that takes a virtual path for the bundle.
 //
 // Parameters:
 // virtualPath:
 // The virtual path for the bundle.
 public ScriptBundle(string virtualPath);
 //
 // Summary:
 // Initializes a new instance of the System.Web.Optimization.ScriptBundle class
 // that takes virtual path and cdnPath for the bundle.
 //
 // Parameters:
 // virtualPath:
 // The virtual path for the bundle.
 //
 // cdnPath:
 // The path of a Content Delivery Network (CDN).
 public ScriptBundle(string virtualPath, string cdnPath);
 }
}

ScriptBundle有两个构造函数,virtualPath:js文件的虚拟路径,cdnPath:js的网络cdn路径。StyleBundle的构造函数的参数与ScriptBundle相同。

在上面的代码片段中你可以看到

  • jquery-{version}.js:其中version是jquery的版本号,version是一个版本号的占位符。
  • jquery.validate*:*通配符,匹配所有。

上面的代码完成后,需要在Global.asax的Application_start事件中对其注册。

如何使用?

在视图中,通过下面的代码实现对静态文件的引用。

浏览

怎么没起作用呢?Bundle默认在调试的情况下,是没有开启打包压缩的,可以通过下面的2中方式进行开启。

再浏览下

你会发现Jquery-1.10.2.js该文件在请求中已经不存在了,它已经被打包压缩在jquery?v=版本号,这个文件里面了。

另外一种打开打包压缩的方式,在web.config文件中中:

总结

上面就是对Bundle的用法介绍,对静态文件打包压缩可以减少请求次数,资源加载的速度。希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# asp.net  # mvc  # bundle  # js  # css  # 合并压缩  # 文件压缩合并  # ASP.NET MVC下Bundle的使用方法  # ASP.NET MVC中使用Bundle打包压缩js和css的方法  # ASP.NET MVC Bundles 用法和说明(打包javascript和css)  # 使用asp.net MVC4中的Bundle遇到的问题及解决办法分享  # 基于Asp.Net MVC4 Bundle捆绑压缩技术的介绍  # 详解Asp.Net MVC的Bundle捆绑  # 多个  # 可以看到  # 加载  # 中你  # 的人  # 是一个  # 才会  # 两种  # 的人都  # 对其  # 可以通过  # 来看看  # 所示  # 在上面  # 谢谢大家  # 淘宝  # 多说  # 较少  # 你会发现  # 如何使用 


相关文章: 建站之星伪静态规则如何正确配置?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站主机选购指南:核心配置与性价比推荐解析  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  制作网站外包平台,自动化接单网站有哪些?  香港网站服务器数量如何影响SEO优化效果?  如何快速搭建高效简练网站?  如何在Golang中使用replace替换模块_指定本地或远程路径  深圳网站制作的公司有哪些,dido官方网站?  如何快速搭建FTP站点实现文件共享?  如何选择建站程序?包含哪些必备功能与类型?  网站制作报价单模板图片,小松挖机官方网站报价?  网站制作价目表怎么做,珍爱网婚介费用多少?  定制建站价位费用解析与套餐推荐全攻略  nginx修改上传文件大小限制的方法  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  金*站制作公司有哪些,金华教育集团官网?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  如何快速启动建站代理加盟业务?  html制作网站的步骤有哪些,iapp如何添加网页?  如何挑选优质建站一级代理提升网站排名?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  如何用PHP快速搭建高效网站?分步指南  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  如何在服务器上配置二级域名建站?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  网站设计制作公司地址,网站建设比较好的公司都有哪些?  如何在局域网内绑定自建网站域名?  如何在宝塔面板中创建新站点?  如何快速生成ASP一键建站模板并优化安全性?  建站之星导航配置指南:自助建站与SEO优化全解析  移民网站制作流程,怎么看加拿大移民官网?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  北京的网站制作公司有哪些,哪个视频网站最好?  专业商城网站制作公司有哪些,pi商城官网是哪个?  简单实现Android文件上传  安云自助建站系统如何快速提升SEO排名?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  济南企业网站制作公司,济南社保单位网上缴费步骤?  IOS倒计时设置UIButton标题title的抖动问题  如何高效完成自助建站业务培训?  公司门户网站制作流程,华为官网怎么做?  免费网站制作appp,免费制作app哪个平台好?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  如何在阿里云通过域名搭建网站?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。