溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

ASP.NET MVC中如何使用Bundle打包壓縮js和css

發(fā)布時(shí)間:2021-08-30 15:59:41 來(lái)源:億速云 閱讀:119 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下ASP.NET MVC中如何使用Bundle打包壓縮js和css,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

在ASP.NET MVC4中(在WebForm中應(yīng)該也有),有一個(gè)叫做Bundle的東西,它用來(lái)將js和css進(jìn)行壓縮(多個(gè)文件可以打包成一個(gè)文件),并且可以區(qū)分調(diào)試和非調(diào)試,在調(diào)試時(shí)不進(jìn)行壓縮,以原始方式顯示出來(lái),以方便查找問(wèn)題。

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

這里僅簡(jiǎn)單記錄下如何使用。

首先,如果是使用的ASP.NET MVC4基本或者其他內(nèi)容更豐富的模板,Bundle應(yīng)該已經(jīng)自動(dòng)配置上了,因?yàn)楸旧頃?huì)有jQuery和jQuery UI的引用,這兩項(xiàng)引用會(huì)用到Bundle。

就簡(jiǎn)單說(shuō)一下要點(diǎn)吧。

首先在項(xiàng)目的App_Start文件夾中,會(huì)有一個(gè)BundleConfig.cs文件:

ASP.NET MVC中如何使用Bundle打包壓縮js和css

這里面寫(xiě)了所有需要Bundle的內(nèi)容,可以自行設(shè)置:

ASP.NET MVC中如何使用Bundle打包壓縮js和css

其中的bundles.Add是在向網(wǎng)站的BundleTable中添加Bundle項(xiàng),這里主要有ScriptBundle和StyleBundle,分別用來(lái)壓縮腳本和樣式表。用一個(gè)虛擬路徑來(lái)初始化Bundle的實(shí)例,這個(gè)路徑并不真實(shí)存在,然后在新Bundle的基礎(chǔ)上Include項(xiàng)目中的文件進(jìn)去。具體的Include語(yǔ)法可以查閱上面提供的官方簡(jiǎn)介。

然后對(duì)Bundle的注冊(cè)是在項(xiàng)目根下的Global.asax文件中,這個(gè)文件中的Application_Start是網(wǎng)站程序的開(kāi)始,里面注冊(cè)了網(wǎng)站各種初始化的內(nèi)容,其中就包括對(duì)BundleTable的Bundle添加:

ASP.NET MVC中如何使用Bundle打包壓縮js和css

默認(rèn)情況下,Bundle是會(huì)對(duì)js和css進(jìn)行壓縮打包的,不過(guò)有一個(gè)屬性可以顯式的說(shuō)明是否需要打包壓縮:

BundleTable.EnableOptimizations = true;

如果將其設(shè)為false,那么就會(huì)和下面說(shuō)的debug=true時(shí)的情況相同了。

在使用時(shí),在相應(yīng)位置調(diào)用ScriptRender和StyleRender的Render方法:

ASP.NET MVC中如何使用Bundle打包壓縮js和css

最終用戶(hù)頁(yè)面即可達(dá)到效果打包壓縮效果。

有一個(gè)地方主要注意,在Web.config中,當(dāng)compilation編譯的debug屬性設(shè)為true時(shí),表示項(xiàng)目處于調(diào)試模式,這時(shí)Bundle是不會(huì)將文件進(jìn)行打包壓縮的,頁(yè)面中引用的js和css會(huì)分散原樣的展示在html中,這樣做是為了調(diào)試時(shí)查找問(wèn)題方便(壓縮以后就復(fù)雜了)

ASP.NET MVC中如何使用Bundle打包壓縮js和css

最終部署運(yùn)行時(shí),將debug設(shè)為false就可以看到j(luò)s和css被打包和壓縮了。

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

使用Bundle的關(guān)鍵在于要向ASP.NET中的BundleTable注冊(cè)Bundle。

如果要在ASP.NET WebForm中使用Bundle,需要在新建項(xiàng)目時(shí)選擇.NET Framework 4.5,最好使用模板網(wǎng)站新建,這樣就可以直接看到Bundle了。

以上是“ASP.NET MVC中如何使用Bundle打包壓縮js和css”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI