是否有任何数据的优势加载jQuery从CDN (HTML5BP) vs连接和缩小它与其他脚本
Is there any data on the advantage of loading jQuery from a CDN (HTML5BP) vs concatenating and minifying it with the other scripts?
我使用HTML5样板,看到他们从main.js
和plugins.js
分离jQuery。我明白这背后的逻辑是,很多网站使用jquery,如果你使用一个cdn,有一个很大的机会,用户已经缓存了它。
但由于我使用html5 bp利用构建步骤,我也可以连接和缩小jquery与我所有的其他脚本。所以:
- 单独的jQuery,最好从CDN加载,或
- 连接和缩小jQuery与所有其他脚本
从我的理解HTML5 BP不考虑连接/缩小选项,因为他们的样板文件不包括构建步骤。但既然这是我的选择;是否有确凿的数据表明什么是最好的选择,或者现实世界中的性能差异是什么?
在去年的拉取请求中对此(以及其他相关问题)进行了大量讨论。你应该看看那个帖子。有很多详细的讨论。
H5BP使用该设置的原因是它是最佳的默认解决方案。如果H5BP的用户没有对他们的设置做任何其他事情,他们可以保证从CDN源获得地理上优化的jQuery版本,并且有最高的可能命中缓存彩票。
超出默认解决方案:
- 如果你有一个全球的观众,你将从CDN提供你的静态资产,那么它可能会稍微快一点,从该CDN提供单个文件。
- 如果你有一个性能调优的静态资源服务器,你有一个本地受众,那么你可能会更快地从静态资源服务器提供单个文件,即使它不是在CDN上。
优点:
-性能稍微好一点,因为用户已经从其他站点缓存了它。
缺点:
-如果CDN坏了,你的网站坏了。
-如果你所有的文件连接在一个,你将只有一个查询在你的域,它总是比(IMHO)一个单独的查询外部域。
我个人总是选择串联。
但无论如何,不要过度优化。如果你的站点不大,选择你喜欢的。(我认为,如果你测试两种解决方案,结果不会有太大的不同)
相关文章:
- setInteval vs setTimeout
- $(this).prop('property') vs. this.property
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 如何使用密码检测网络中的状态连接
- 如何处理node.js节点mongodb中的连接和查询队列
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- Twilio-显示所有连接参与者的远程参与者视频
- 操作放置在画布上的元素之间的连接
- Js.erb VS按钮标记-不'不起作用.为什么?
- TypeError:_this.store.getState在使用来自Redux的连接时不是函数
- jQuery UI可排序-多连接列表拖动
- reactjs this.refs vs document.getElementById
- 如何使用offer/answer交换来自两个对等连接的流
- 在Qualtrics中,介绍如何动态连接两个滑块
- 使用优化器在慢速连接上加载main.js时需要js超时
- 如果连接类型为none,则Javascript Function Only警报
- GTK百老汇支持同时连接
- 在node.js中写入ECONNRESET错误和套接字连接检查
- 是否有任何数据的优势加载jQuery从CDN (HTML5BP) vs连接和缩小它与其他脚本
- 数组连接vs字符串连接