在网页上,我有一个脚本标记,其中包含了我所有的小型化JavaScript (我使用SquishIt表示.NET)。
然而,我发现有几个人更喜欢使用一些类似于headjs或headjs之类的工具来并行加载他们的脚本。
我想知道哪一个对性能更好,合并和缩小我所有的JavaScript是否值得这么做?
发布于 2012-09-19 11:16:43
浏览器将从同一个域( http://www.browserscope.org/?category=network&v=top )并行下载多达6个文件。
这包括样式表、图像等。为了获得最佳的性能,您应该合并资源,以确保不需要超过6个(并行)请求来加载页面上的所有内容。这意味着组合脚本文件、将图像组合到CSS精灵、组合样式表等等。如果需要加载更多内容,则需要将请求拆分到不同的域名中。
至于小型化,这取决于文件的大小。缩小一个小文件不会带来太大的优势,但是缩小一个大文件会在缓慢的网络连接上产生真正的影响,即使与gzip压缩相结合也是如此。请参阅https://stackoverflow.com/questions/807119/gzip-versus-minify
像requirejs这样的解决方案用于加载最初显示页面所不需要的脚本,而是需要与之交互的脚本。即使在那里,组合脚本也建议保持在6个请求阈值以下。
发布于 2012-09-19 14:09:19
这实际上取决于脚本的大小和种类。如果您的站点上的每个页面都需要大多数脚本,请合并并缩小。但是,如果您的脚本有很多是特定于页面而不是全局的,那么使用依赖项加载器(如requirejs或headjs )就会有价值。尤其是对于移动设备。
不过,我的经验是,这更多是个人喜好。用你最舒服的那个。与您个人管理代码的乐趣相比,性能问题是最小的。
https://softwareengineering.stackexchange.com/questions/165369
复制相似问题