我很想知道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