前言

介绍本文的正式内容之前先引用《淘宝技术这十年》中一段话,对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相同。
在上面的代码片段中你可以看到
上面的代码完成后,需要在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捆绑
# 多个
# 可以看到
# 加载
# 中你
# 的人
# 是一个
# 才会
# 两种
# 的人都
# 对其
# 可以通过
# 来看看
# 所示
# 在上面
# 谢谢大家
# 淘宝
# 多说
# 较少
# 你会发现
# 如何使用
相关文章:
如何批量查询域名的建站时间记录?
如何通过商城免费建站系统源码自定义网站主题?
如何在云虚拟主机上快速搭建个人网站?
完全自定义免费建站平台:主题模板在线生成一站式服务
如何通过二级域名建站提升品牌影响力?
建站主机与虚拟主机有何区别?如何选择最优方案?
如何制作网站标识牌,动态网站如何制作(教程)?
建站之星如何防范黑客攻击与数据泄露?
建站主机数据库如何配置才能提升网站性能?
制作旅游网站html,怎样注册旅游网站?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
建站之星24小时客服电话如何获取?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
黑客入侵网站服务器的常见手法有哪些?
建站之星如何开启自定义404页面避免用户流失?
高防服务器租用首荐平台,企业级优惠套餐快速部署
如何快速搭建安全的FTP站点?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
智能起名网站制作软件有哪些,制作logo的软件?
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
如何快速搭建高效可靠的建站解决方案?
建站之星云端配置指南:模板选择与SEO优化一键生成
如何在宝塔面板中修改默认建站目录?
如何破解联通资金短缺导致的基站建设难题?
如何在万网开始建站?分步指南解析
如何用景安虚拟主机手机版绑定域名建站?
h5在线制作网站电脑版下载,h5网页制作软件?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
建站之星代理商如何保障技术支持与售后服务?
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
如何在IIS中新建站点并配置端口与物理路径?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
如何在建站主机中优化服务器配置?
宝塔面板如何快速创建新站点?
如何在建站之星网店版论坛获取技术支持?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
在线制作视频网站免费,都有哪些好的动漫网站?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
太平洋网站制作公司,网络用语太平洋是什么意思?
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
建站org新手必看:2024最新搭建流程与模板选择技巧
如何注册花生壳免费域名并搭建个人网站?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
行程制作网站有哪些,第三方机票电子行程单怎么开?
定制建站如何定义?其核心优势是什么?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
如何确保西部建站助手FTP传输的安全性?
建站之星展会模版如何一键下载生成?
*请认真填写需求信息,我们会在24小时内与您取得联系。