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

时间:2011-08-06 04:54:49

标签: 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

奖金问题:为什么我不应该这样做?

2 个答案:

答案 0 :(得分:3)

我创造了一个专门满足这个要求的新宝石。希望它有所帮助!

https://github.com/kenn/jquery-rails-cdn

答案 1 :(得分:1)

没有理由不这样做。谷歌CDN的重点在于,当许多不同的网站使用相同的CDN文件时,浏览器或其他地方可能已经缓存了它。管道的重点是做同样的事情 - 压缩+包+远期标题。

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

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

YMMV!