何时使用CDN进行主机,何时不使用?

问题描述:

这个问题试图找出它是否值得权衡CDN的好处,转而采用更加结构化和组织化的供应商代码管理。何时使用CDN进行主机,何时不使用?


我知道使用CDN提供像jquery这样的供应商库是推荐。

但是,我今天正在阅读约bower,它让我感到惊讶。借助bower,我可以以非常有条理的方式轻松管理应用程序的所有依赖项。我最终可以将它们打包在单个vendor.js文件中(使用yeoman,brunch或简单grunt),该文件将作为script标记中的html服务器。

但是,虽然这种方法可以使我的生活更轻松,但它有什么缺点?我可以想到以下几点:

  • 我很多使用的库很可能已经被缓存在用户的浏览器中。
  • 通过将所有文件全部放在一个vendor.js文件中,浏览器最终将缓存该文件,但每当添加新的第三方依赖关系(即我的供应商文件发生更改时),我都会遇到问题。浏览器将重新加载该文件(从而失去原有的vendor.sj文件的缓存)

把这种方式,要在html来管理依赖关系<script>标签时,接缝处提供一个更好的性能/加载时间。

您认为我的思维方式有问题吗?说bower组织代码的好处,有说服力吗?毕竟,它就像骨干一样。是的,骨干应用对于小应用来说比较重,它包含更多的代码......但从开发角度来看,它的价值!

干杯(和感谢,让我重新编辑的问题的意见!)

+0

这是因为其他有资格的人显然不相信它是“要走的路”_。这类问题通常是不允许的,因为它会引起强烈的意见。此外,尽管它“不具有建设性”,但它[已在此处多次讨论](http://*.com/search?q=CDN+good+idea&submit=search)。 – Sparky

+0

查看jQuery标签本网站的常见问题...*职位之一详细介绍了这个主题http://*.com/questions/1014203/best-way-to-use-googles-hosted-jquery-但落回至我的托管库上去。对于你的问题,简单的回答是CDN资源更有可能已经存在于用户缓存中 – charlietfl

+0

如果你问清楚具体的技术差异是什么,这个问题可以改写为具有建设性,这样你就可以做出自己的判断呼叫,而不是问让别人给你的。 – eh9

使用CDN时提供给您,并通过您的项目要求允许的。它通常更快,浏览器可能已经缓存来自其他网站的文件。

我构建的大多数站点都使用CDN中的jQuery。但是,您会发现有时候这些CDN被特定国家阻止。无论如何,它有一个回退并没有伤害。你可以从CDN加载jQuery,如果失败则回退到你自己的服务器。