本文参考:http://www.cnblogs.com/willick/p/3438272.htmlcss
一、捆绑(Bundle),一个在 View 和 Layout 中用于组织优化浏览器请求的 CSS 和 JavaScript 文件的技术。html
二、当咱们建立一个MVC工程时,VS在Scripts文件夹下默认引入了如下js:前端
/// <reference path="jquery-1.7.1.js" /> /// <reference path="jquery-ui-1.8.20.js" /> /// <reference path="jquery.validate.js" /> /// <reference path="jquery.validate.unobtrusive.js" /> /// <reference path="knockout-2.1.0.debug.js" /> /// <reference path="modernizr-2.5.3.js" />
二、“捆绑”做用是把一类脚本或样式文件捆绑在一块儿,在须要用的时候调用一句代码就行,极大地方便了脚本和样式文件的管理;并且能够把脚本的普通和 min 两个版本都捆绑起来,MVC也会根据是否为Debug模式智能地选择脚本文件的版本。jquery
三、使用Bundle的方便之一:能够在 /App_Start/BundleConfig.cs 中经过注册来统一管理脚本和样式文件。ajax
public class BundleConfig {
//RegisterBundles 参数对象的 Add 方法添加,该方法的参数须要一个ScriptBundle 类 或 StyleBundle 类的实例对象。
//脚本文件用的是 ScriptBundle 类,样式文件用的是 StyleBundle 类,它们的构造参数表明着捆绑在一块儿的文件的引用。
//Include 方法用于包含具体要捆绑的文件。其中的 {version} 是文件版本的占位符,MVC会在相应的目录下定位到最新的一个版本文件。 public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/*.css")); bundles.Add(new ScriptBundle("~/bundles/clientfeaturesscripts").Include( "~/Scripts/jquery-{version}.js", "~/Scripts/jquery.validate.js", "~/Scripts/jquery.validate.unobtrusive.js", "~/Scripts/jquery.unobtrusive-ajax.js")); } }
方便之二:不用引入一大坨js、css文件,而是经过下列优雅的方式进行:浏览器
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width" /> <title>@ViewBag.Title</title> @Styles.Render("~/Content/css") </head> <body> @Scripts.Render("~/bundles/clientfeaturesscripts") @RenderBody() </body> </html>
方便之三:减小带宽并使捆绑请求的连接减小。在发布模式下,响应客户端请求时,MVC整合并最小化了JavaScript文件和样式文件,并使得一个捆绑中的内容在一个请求中加载。框架