Answers:
CDN的价值在于用户已经访问过另一个站点,从该CDN调用该文件的可能性,并取决于文件的大小而变得越来越有价值。这种情况的可能性随着所请求文件的普遍性以及CDN的普及而增加。
考虑到这一点,从流行的CDN中提取相对较大且流行的文件绝对有道理。jQuery和较小的jQuery UI都适合此要求。
同时,串联文件对于较小的文件是有意义的,这些文件不太可能发生很大变化-您常用的插件将符合此要求,但是您的核心应用专用代码可能不会这样做:它可能每周更改一次,如果您将其与所有其他文件重新连接,则必须强制用户重新下载所有内容。
HTML5样板在提供通用解决方案方面做得很好:
plugins.js
从您自己的服务器加载文件中。第一次用户访问时,将使用一个遥远的到期标头来缓存它,并在以后的访问中从缓存中加载。main.js
,具有更接近的到期标头,以说明您的应用程序逻辑可能每周或每月或每月更改的事实。这样,当您修复了错误或在用户从现在开始两周访问时引入了新功能时,可以重新加载该文件,同时可以将所有以上内容从缓存中引入。对于您的其他主要库,您应该单独查看它们,并问自己它们是否应该遵循jQuery的指导,从您自己的服务器中单独加载或被串联。有关如何做出这些决定的示例:
plugins.js
。这样,您始终可以plugins.js
使用Bootstrap扩展名更新自己,而不必强制用户下载所有Bootstrap核心。但是没有必要-您的里程可能会有所不同。