2013-03-26 30 views
6

Tôi tò mò muốn biết làm thế nào asp.net bundling hoạt động.Làm thế nào asp.net Bundling hoạt động nội bộ

Tôi biết chúng tôi sẽ thêm tất cả tập lệnh và css và hình ảnh vào nhóm để trình duyệt sẽ bắt đầu yêu cầu duy nhất cho tất cả các tài nguyên.

Tôi đã nhầm lẫn về cách các trang sẽ giới thiệu các tài nguyên được nhóm này từ trình duyệt của khách hàng.

Trả lời

8

Hãy xem điều gì xảy ra khi chúng tôi sử dụng gói trong System.Web.Optimization.

Trong ví dụ này tôi đã sử dụng mẫu "Empty ASP.NET MVC 4" và lấy gói "Microsoft.AspNet.Web.Optimization" mới nhất từ ​​nuget.

Tôi sau đó tiến hành đăng ký 2 tệp javascript. Một cho jquery và một cho bootstrap.

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); 
} 

Bây giờ chúng tôi đã thiết lập xong, hãy xem điều gì xảy ra khi chúng tôi xem trang.

debugview

Bạn có thể thấy rằng cả các tập tin javascript được chỉ bao gồm như là chúng tôi sẽ thường làm. Đây là những gì sẽ xảy ra khi bạn có cờ "debug" được thiết lập trong web.config của bạn.

Hãy biến điều này thành false và xem điều gì sẽ xảy ra ngay bây giờ.

debugsettofalse

Bây giờ những gì chúng ta thấy là một tài liệu tham khảo đơn đã được bổ sung nhưng với một vị trí nhìn rất độc đáo. Bằng cách nhấp vào nó, chúng ta thấy rằng nó phun ra một phiên bản được rút gọn và kết hợp của cả hai tệp javascript được tham chiếu trong gói của chúng tôi.

funnycharacters

này hài hước chuỗi truy vấn tham số v = loMmcAiXrKwMoVsM8Ok8Q5jVmuFQUI3fiiRVJQC33Hs1 là một tham chiếu đến nội dung của chúng tôi và chúng ta có thể thấy rằng không có vấn đề bao nhiêu lần chúng ta nhấn trang web, nó sẽ giữ nguyên. (ví dụ: làm mới nhiều lần).

Hãy xem những gì người thích nói về tham chiếu đến tệp javascript của chúng tôi.

cache

Chúng ta có thể thấy rằng các phản ứng là cachable. Hết hạn bộ nhớ cache đã được đặt cho "Thứ Tư, ngày 26 tháng 3 năm 2014 06:49:06 GMT". Gần một năm kể từ hôm nay.

Các yêu cầu tiếp theo đối với tài nguyên sẽ được đọc từ bộ nhớ cache của trình duyệt. "Phản hồi HTTP/304 này cho biết phản hồi đã lưu trong bộ nhớ cache hiện có vẫn còn mới. Tiêu đề bộ nhớ cache toàn thời gian trên phản hồi HTTP/304 có thể được sử dụng để cập nhật độ tươi của phản hồi được lưu trong bộ nhớ cache".

Nếu bạn cần thêm thông tin, hãy xem thêm http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

+0

Bạn không thể giải thích rõ hơn. –

Các vấn đề liên quan