我很想知道asp.net捆綁如何工作。asp.net捆綁如何在內部工作
我知道我們必須將所有腳本,css和圖像添加到捆綁包中,以便瀏覽器將啓動對所有資源的單個請求。
我有些困惑,頁面將如何從客戶端瀏覽器引用這些捆綁資源。
我很想知道asp.net捆綁如何工作。asp.net捆綁如何在內部工作
我知道我們必須將所有腳本,css和圖像添加到捆綁包中,以便瀏覽器將啓動對所有資源的單個請求。
我有些困惑,頁面將如何從客戶端瀏覽器引用這些捆綁資源。
讓我們來看看在System.Web.Optimization中使用綁定時會發生什麼。
在這個例子中,我使用了「Empty ASP.NET MVC 4模板」,並從nuget中獲取了最新的「Microsoft.AspNet.Web.Optimization」包。
然後我開始註冊2個JavaScript文件。一個用於jquery,另一個用於引導。
public static void RegisterBundles(BundleCollection bundles)
{
var javascriptBundle = new Bundle("~/bundles/javascripts")
.Include("~/Scripts/jquery-{version}.js")
.Include("~/Content/bootstrap/js/bootstrap.js");
bundles.Add(javascriptBundle);
}
現在我們已經完成了設置,讓我們看看當我們查看頁面時會發生什麼。
你可以看到,無論是JavaScript文件只是包括作爲我們通常會做。當你在web.config中設置了「debug」標誌時,會發生這種情況。
讓我們把它變成假,看看現在會發生什麼。
現在我們看到的是加入一個參考,但有一個非常獨特的看位置。通過點擊它,我們可以看到它吐出了我們的軟件包中引用的兩個JavaScript文件的縮小和合並版本。
這個有趣的查詢字符串參數v = loMmcAiXrKwMoVsM8Ok8Q5jVmuFQUI3fiiRVJQC33Hs1是我們的內容的引用,我們可以看到,無論我們有多少次命中的網站,它會保持不變。 (即多次刷新)。
讓我們來看看小提琴手對我們的javascript文件的引用。
我們可以看到,響應是可緩存。緩存到期時間設置爲「Wed,26 Mar 2014 06:49:06 GMT」。距離今天差不多一年。
對資源的後續請求將從瀏覽器的緩存中讀取。 「此HTTP/304響應表示現有的緩存響應保持新鮮,HTTP/304響應中的緩存生命期標頭可用於更新緩存響應的新鮮度。」
如果您需要了解更多信息,請參見也http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification
你可以不用解釋它任何好轉。 – 2016-07-22 17:04:13