ASP.NET MVC中使用Bundle打包壓縮js和css的方法_實用技巧

來源:互聯網
上載者:User

在ASP.NET MVC4中(在WebForm中應該也有),有一個叫做Bundle的東西,它用來將js和css進行壓縮(多個檔案可以打包成一個檔案),並且可以區分調試和非調試,在調試時不進行壓縮,以原始方式顯示出來,以方便尋找問題。

具體優勢可自行百度或參看官方介紹:http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

這裡僅簡單記錄下如何使用。

首先,如果是使用的ASP.NET MVC4基本或者其他內容更豐富的模板,Bundle應該已經自動設定上了,因為本身會有jQuery和jQuery UI的引用,這兩項引用會用到Bundle。

就簡單說一下要點吧。

首先在項目的App_Start檔案夾中,會有一個BundleConfig.cs檔案:

這裡面寫了所有需要Bundle的內容,可以自行設定:

其中的bundles.Add是在向網站的BundleTable中添加Bundle項,這裡主要有ScriptBundle和StyleBundle,分別用來壓縮指令碼和樣式表。用一個虛擬路徑來初始化Bundle的執行個體,這個路徑並不真實存在,然後在新Bundle的基礎上Include項目中的檔案進去。具體的Include文法可以查閱上面提供的官方簡介。

然後對Bundle的註冊是在項目根下的Global.asax檔案中,這個檔案中的Application_Start是網站程式的開始,裡面註冊了網站各種初始化的內容,其中就包括對BundleTable的Bundle添加:

預設情況下,Bundle是會對js和css進行壓縮打包的,不過有一個屬性可以顯式的說明是否需要打包壓縮:

複製代碼 代碼如下:
BundleTable.EnableOptimizations = true;

如果將其設為false,那麼就會和下面說的debug=true時的情況相同了。

在使用時,在相應位置調用ScriptRender和StyleRender的Render方法:

終端使用者頁面即可達到效果打包壓縮效果。

有一個地方主要注意,在Web.config中,當compilation編譯的debug屬性設為true時,表示項目處於偵錯模式,這時Bundle是不會將檔案進行打包壓縮的,頁面中引用的js和css會分散原樣的展示在html中,這樣做是為了調試時尋找問題方便(壓縮以後就複雜了)

最終部署運行時,將debug設為false就可以看到js和css被打包和壓縮了。

=============

使用Bundle的關鍵在於要向ASP.NET中的BundleTable註冊Bundle。

如果要在ASP.NET WebForm中使用Bundle,需要在建立項目時選擇.NET Framework 4.5,最好使用模板網站建立,這樣就可以直接看到Bundle了。

 以上就是本文的全部內容,希望對大家的學習有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.