在ASP.NET MVC4中(在WebForm中應該也有),有一個叫作Bundle的東西,它用來將js和css進行壓縮(多個文件能夠打包成一個文件),而且能夠區分調試和非調試,在調試時不進行壓縮,以原始方式顯示出來,以方便查找問題。css
首先,若是是使用的ASP.NET MVC4基本或者其餘內容更豐富的模板,Bundle應該已經自動配置上了,由於自己會有jQuery和jQuery UI的引用,這兩項引用會用到Bundle。html
就簡單說一下要點吧。web
首先在項目的App_Start文件夾中,會有一個BundleConfig.cs文件,這裏面寫了全部須要Bundle的內容,能夠自行設置。網站
其中的bundles.Add是在向網站的BundleTable中添加Bundle項,這裏主要有ScriptBundle和StyleBundle,分別用來壓縮腳本和樣式表。用一個虛擬路徑來初始化Bundle的實例,這個路徑並不真實存在,而後在新Bundle的基礎上Include項目中的文件進去。spa
bundles.Add(new ScriptBundle("~/bundles/controllers").Include( "~/asset/js/controllers/*.js")); bundles.Add(new ScriptBundle("~/bundles/services").Include( "~/asset/js/services/*.js"));
而後對Bundle的註冊是在項目根下的Global.asax文件中,這個文件中的Application_Start是網站程序的開始,裏面註冊了網站各類初始化的內容,其中就包括對BundleTable的Bundle添加。debug
BundleConfig.RegisterBundles(BundleTable.Bundles);
有一個地方主要注意,在Web.config中,當compilation編譯的debug屬性設爲true時,表示項目處於調試模式,這時Bundle是不會將文件進行打包壓縮的,頁面中引用的js和css會分散原樣的展現在html中,這樣作是爲了調試時查找問題方便,最終部署運行時,將debug設爲false就能夠看到js和css被打包和壓縮了。調試
<system.web> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" /> </system.web>