这个问题试图找出是否有必要权衡CDN的好处,转而采用更有条理和更有条理的供应商代码管理。
我知道建议使用CDN来提供像jquery这样的供应商库。
然而,我今天正在阅读bower,这让我很奇怪。通过bower,我可以以非常有条理的方式轻松管理应用程序的所有依赖项。我最终可以将它们打包在一个vendor.js
文件中(使用yeoman,brunch或简单grunt),它将成为script
标记中html中的服务器。
然而,虽然这种方法可以让我的生活更轻松,但它的缺点是什么?我能想到以下几点:
vendor.js
文件中,浏览器最终将缓存此文件,但每当我添加新的第三方依赖项时,即每次更改供应商文件时,我都会遇到问题。浏览器必须重新加载该文件(从而放弃原始vendor.sj文件的缓存)这样做,花时间将html中的依赖项作为<script>
标记进行管理,以提供更好的性能/加载时间。
你觉得我的思维方式有问题吗?使用bower
组织代码的好处是否足够令人信服?毕竟,它就像骨干一样。是的,骨干应用程序对于小型应用程序来说更重,它包含更多代码..但从开发的角度来看,它是值得的!
干杯(感谢您重新编辑问题的评论!)
答案 0 :(得分:5)
在您可以使用CDN并且您的项目要求允许使用CDN。它通常更快,浏览器可能已经从其他站点缓存了这些文件。
我构建的大多数网站都使用CDN的jQuery。但是,您会发现有时这些CDN会被特定国家/地区阻止。无论如何,有一个后备并没有什么坏处。您可以从CDN加载jQuery,如果失败则回退到您自己的服务器。