ASP.NET捆绑和缩小在运行时的好处是什么?

时间:2012-10-09 17:07:41

标签: asp.net-mvc bundling-and-minification

我了解如何使用asp.net的新捆绑和缩小功能。他们在开发过程中很有帮助。

虽然在生产部署中使用它们有什么好处吗?如果您只是将捆绑/缩小的文件放在Web服务器上,系统会表现得更好吗?总的来说,如果它们只是静态文件,那么运行的代码就会减少。

注意:我理解将js / css捆绑和缩小的好处。我只是质疑使用活动运行时进程在生产系统中生成这些文件的价值,而不是简单地将它们存储在磁盘上并将它们作为静态文件引用。

4 个答案:

答案 0 :(得分:17)

捆绑和缩小在生产中比在开发中更有用。 它可以显着提高您的首页下载时间。

  • 捆绑通过将多个CSS文件和Javascript文件合并为单个CSS文件和javascript文件,减少了对服务器的单个HTTP请求的数量。

  • 缩小通过删除空格,注释和其他不必要的字符来减少CSS和javascript文件的文件下载大小。

这种小优势在生产环境中比在开发环境中更为明显。因此最好在生产中使用Bundling和Minification。

特定于您的问题,在运行时捆绑/缩小没有明显的好处。这个功能只是为了让开发人员的工作更轻松。因此,如果您确定自己正在做什么,那么在生产中使用手动捆绑/缩小资产会更好。

<强>更新  根据{{​​3}},在运行时

中捆绑/缩小有一个真正的好处
  

ASP.NET 4.5中的捆绑和缩小是在运行时执行的,因此进程可以识别用户代理(例如IE,Mozilla等),从而通过定位用户浏览器来改进压缩(例如,当请求来自IE时,删除Mozilla特有的东西。)

     

动态捆绑的强大之处在于,您可以包含静态JavaScript以及编译成JavaScript的语言中的其他文件。

例如,CoffeeScript是一种编译成JavaScript的编程语言

答案 1 :(得分:1)

缩小 - 较小的文件,更少的线路,更快的页面加载。

捆绑浏览器限制每个http主机的连接。这意味着用户访问您的页面,并且您(比方说)有24个脚本和链接(css)标记,您的浏览器一次处理它们6(大多数浏览器的限制) - 减慢页面加载速度。 捆绑使浏览器将所有文件视为单个文件 - 覆盖此限制。

答案 2 :(得分:1)

捆绑和缩小提供了2个基本功能,以提高页面加载的性能。

捆绑 - 将所有提供的脚本/ CSS捆绑在一个文件中,以便只有浏览器需要加载一个文件而不是多个文件。
注意 - &gt; 通常,浏览器可能只有6个同时请求从服务器获取资源。浏览器将其他请求排队等待以后处理。因此,如果我们有多个文件,那么它可能必须在请求队列中等待。

缩小 - 缩小过程会删除注释,额外的空格并重命名变量名称,从而生成缩小的文件。因此,这会减小文件大小,从而加快下载速度。

答案 3 :(得分:0)

捆绑的另一个好处是它可以减少缓存问题。当我们使用密钥将其加载捆绑到页面时,如下所示。

<script src="/bundles/jquery?v=FVs3ACwOLIVInrAl5sdzR2jrCDmVOWFbZMY6g6Q0ulE1"></script>

每次我们更改脚本时,它都会生成不同的密钥。因此,如果我们改变某些内容,文件将被缓存。但是当我们不使用它时,因为脚本文件具有相同的名称,有时我们必须清除缓存以查看更改。

相关问题