读书人

捆绑跟缩小

发布时间: 2013-10-17 17:26:17 作者: rapoo

捆绑和缩小

捆绑和缩小是两种方法可用于在 ASP.NET 4.5 改进请求加载时间。捆绑和缩小提高加载时间减少到服务器的请求数和减小大小的要求资产 (如 CSS 和 JavaScript。)

当前主流浏览器的大多数限制的每个主机名到六每个并发连接数。这意味着虽然正在处理六个请求,将由浏览器排队资产在主机上的其他请求。在下面的图像中,IE F12 开发人员工具网络选项卡显示资产由关于视图的一个示例应用程序所需的时间。

捆绑跟缩小

灰色条显示该请求排队等待的六个连接限制,浏览器的时间。黄色栏是请求到第一个字节的时间就是发送请求和接收来自服务器的第一反应所需的时间。蓝色条形显示从服务器接收的响应数据所需的时间。您可以双击资产以获得详细的计时信息。例如,下面的图像显示加载/Scripts/MyScripts/JavaScript6.js文件的计时详细信息。

捆绑跟缩小

前面的图像显示的启动的事件,使时间要求被排队因为浏览器的限制同时连接的数量。在这种情况下,请求被排队等待另一个请求完成 46 毫秒为单位)。

捆绑销售

捆绑销售是 ASP.NET 4.5 使它容易地合并,或将多个文件捆绑到单个文件中的新功能。您可以创建 CSS、 JavaScript 和其他包。较少的文件意味着更少的 HTTP 请求和,可以改善第一页负载性能。

下面的图像显示显示以前,但这次与捆绑和缩小启用的关于视图的同一时间视图。

捆绑跟缩小

缩小

缩小执行各种不同的代码优化和脚本或 css,如删除不必要的空白和注释和缩短到一个字符的变量名。考虑下面的 JavaScript 函数。

AddAltToImg = function (imageTagAndImageID, imageContext) {    ///<signature>    ///<summary> Adds an alt tab to the image    // </summary>    //<param name="imgElement" type="String">The image selector.</param>    //<param name="ContextForImage" type="String">The image context.</param>    ///</signature>    var imageElement = $(imageTagAndImageID, imageContext);    imageElement.attr('alt', imageElement.attr('id').replace(/ID/, ''));}

后缩小,功能被减少到以下内容:

AddAltToImg = function (n, t) { var i = $(n, t); i.attr("alt", i.attr("id").replace(/ID/, "")) }

除了删除的评论和多余的空格,下面的参数和变量名被重命名 (缩短),如下所示:

源语言重命名imageTagAndImageIDnimageContexttimageElementi

捆绑的影响和缩小

下表显示了几个重要的区别,分别列出所有资产和使用中的示例程序的捆绑和缩小 (B/M) 之间。

使用 B/M没有 B/M变化文件请求934256%发送的 KB3.2611.92266%收到 KB388.5153036%加载时间510 MS780 MS53%

发送的字节数有显著减少与捆绑浏览器相当详细与它们适用的请求的 HTTP 标头。接收字节数减少不是一样大的因为最大的文件 (Scripts\jquery-ui-1.8.11.min.js和Scripts\jquery-1.7.1.min.js) 都已经模糊不清。注意: 在示例程序上的计时使用提琴手工具来模拟较慢的网络。(从提琴手规则菜单中,选择性能然后模拟调制解调器速度.)

调试捆绑和缩减 JavaScript

很容易调试您在开发环境中的 JavaScript (在编译元素 在Web.config文件设置为debug="true" ) 因为 JavaScript 文件不是捆绑在一起或模糊不清。你也可以调试发布版本哪里您 JavaScript 文件捆绑在一起,并且模糊不清。您使用 IE F12 开发人员工具,调试使用以下方法最包中包含的 JavaScript 函数:

  1. 选择脚本选项卡,然后选择启动调试按钮。
  2. 选择包含您想要使用的资产按钮进行调试的 JavaScript 函数的捆绑。
    捆绑跟缩小
  3. 通过选择配置按钮设置最的 JavaScript 的格式捆绑跟缩小然后选择格式 JavaScript.
  4. 在搜索以股代息t 输入框中,选择您想要调试的函数的名称。在下面的图像中,搜索以股代息t 输入框中输入了AddAltToImg 。
    捆绑跟缩小

F12 开发人员工具调试的详细信息,请参阅 MSDN 文章:使用 F12 开发人员工具调试 JavaScript 错误.

控制捆绑和缩小

启用或禁用通过在编译元素中设置的调试属性的值绑定和缩小 的Web.config文件中。在下面的 XML,debug 设置为 true,那么将捆绑和缩小处于禁用状态。

<system.web>    <compilation debug="true" />    <!-- Lines removed for clarity. --></system.web>

要启用捆绑和缩小,设置为"false"的debug 值。您可以重写Web.config设置与BundleTable 类的EnableOptimizations 属性。下面的代码可以捆绑和缩小和重写的Web.config文件中的任何设置。

public static void RegisterBundles(BundleCollection bundles){    bundles.Add(new ScriptBundle("~/bundles/jquery").Include(                 "~/Scripts/jquery-{version}.js"));    // Code removed for clarity.    BundleTable.EnableOptimizations = true;}
注: 除非EnableOptimizations true 或编译元素中的调试属性 在Web.config文件设置为false,将不捆绑或文件模糊不清。此外,将不使用的文件的.min 版本,将选择的完整的调试版本。EnableOptimizations 重写汇编元素中的调试属性 的Web.config文件中

使用捆绑和缩小与 ASP.NET Web 窗体和 Web 页

读书人网 >Web前端

热点推荐