Asp.net MVC下使用捆合并、压缩射流研究…与钢性铸铁文件详解
前言
介绍本文的正式内容之前先引用《淘宝技术这十年》 中一段话,对网前端稍微有点常识的人都应该知道,浏览器下一步会加载页面中用到的CSS、JS(JavaScript)、图片等样式、脚本和资源文件。但是可能相对较少的人才会知道,你的浏览器在同一个域名下并发加载的资源数量是有限的,例如IE 6和IE 7是两个,IE 8是6个铬合金各版本不大一样,一般是4~6个捆绑是ASP .NET 4.5中的一个新特性,可用来将射流研究…和钢性铸铁进行压缩(多个文件可以打包成一个文件,也可以说是合并多个文件),并且可以区分调试和非调试,在调试时不进行压缩,以原始方式显示出来,以方便查找问题。下面话不多说,来看看详细的介绍吧。
一个例子
新建ASP。网最有价值球员项目,在应用程序_开始文件夹中你可以看到一个叫做BundleConfig.cs的类,
该类内容如下:
公共类BundleConfig { //有关捆绑的更多信息,请访问http://go.microsoft.com/fwlink/?LinkId=301862公共静态void RegisterBundles(BundleCollection bundles){ bundles .添加(新的脚本包(' ~/bundle/jquery ').包括(' ~/Scripts/jquery-{version}).js’);捆绑包。添加(新的脚本包(' ~/bundles/jqueryval ').包括(' ~/Scripts/jquery。验证* ');//使用Modernizr的开发版本进行开发和学习。然后,当您准备好投入生产时,使用http://modernizr.com的构建工具只挑选您需要的测试。捆绑包。添加(新的脚本包(' ~/bundle/modernizr ').包括(' ~/Scripts/modernizr-*);捆绑包。添加(新的脚本包(' ~/bundle/bootstrap ').包括(' ~/Scripts/bootstrap.js ',' ~/Scripts/response。js’);捆绑包。添加(新的StyleBundle('~/Content/css ').包括(' ~/Content/bootstrap.css ',' ~/Content/site。CSS ');} }如上代码所示,压缩和合并分两种对象ScriptBundle和StyleBundle。
系统命名空间网络。优化{////总结://代表一个进行射流研究…缩小的包。公共类脚本捆绑包:捆绑包{////摘要://初始化系统的新实例。类//,该类为包取一个虚拟路径。////参数: //虚拟路径: //包的虚拟路径。公共ScriptBundle(字符串virtualPath);////Summary: //初始化系统的新实例网络。优化类//,该类为包采用虚拟路径和cdnPath .////参数: //虚拟路径: //包的虚拟路径////cdnpaths ://内容传递网络(CDN)的路径。公共ScriptBundle(字符串virtualPath,字符串cdn路径);}}ScriptBundle有两个构造函数,virtualPath:js文件的虚拟路径,cdnPath:js的网络内容交付网络路径StyleBundle。的构造函数的参数与ScriptBundle相同。
在上面的代码片段中你可以看到
jquery-{version} .js:其中版本是jquery的版本号,版本是一个版本号的占位符jquery.validate*:*通配符,匹配所有。上面的代码完成后,需要在Global.asax的应用程序_开始事件中对其注册。
如何使用?
在视图中,通过下面的代码实现对静态文件的引用。
浏览
怎么没起作用呢?捆默认在调试的情况下,是没有开启打包压缩的,可以通过下面的2中方式进行开启。
再浏览下
你会发现Jquery-1.10.2.js该文件在请求中已经不存在了,它已经被打包压缩在jquery?v=版本号,这个文件里面了。
另外一种打开打包压缩的方式,在网络。配置文件中中:
总结
以上是对Bundle用法的介绍。打包和压缩静态文件可以减少请求的数量和加载资源的速度。希望本文的内容能给你的学习或工作带来一些帮助。有问题可以留言交流。谢谢你的支持。
版权声明:Asp.net MVC下使用捆合并、压缩射流研究…与钢性铸铁文件详解是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。