本文參考: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文件和樣式文件,並使得一個捆綁中的內容在一個請求中加載。框架