使用CDN托管的JS库在Rails 3.1中进行生产

chi*_*low 7 ruby-on-rails-3.1

我正在试验Rails 3.1,它使用Sprokets 2.0作为其"资产管道",并尝试将其设置为在生产时使用CDN托管的库,但是本地托管文件用于开发.

即,在开发中: jquery.js作为一部分加载application.js

但在生产中: http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js反而加载.

奖金问题:我不应该这样做的任何理由?

Ric*_*lse 1

没有理由不这样做。Google CDN 的要点是,当许多不同的站点使用相同的 CDN 文件时,该文件很可能已经被浏览器或其他地方缓存。管道的重点是做同样的事情 - 压缩+打包+远期标头。

不使用它的唯一原因是 CDN 距离很远,并且访问者使用的网站很少也使用 CDN。

就我而言,我在新西兰,很少有本地网站使用 CDN。这给访问我们网站的人增加了很高的首次请求惩罚(没有人在浏览另一个本地网站时获得该文件)。我选择将 jquery 滚动到生产包中以避免请求和加载所花费的时间(来自新西兰大约 700 毫秒)。

嗯嗯!