我正在试验Rails 3.1,它使用Sprokets 2.0作为其“资产管道”,并尝试将其设置为在生产时使用CDN托管的库,但是本地托管文件用于开发。
即开发中:
jquery.js
作为application.js
但在生产中:
而是加载了http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
。
奖金问题:为什么我不应该这样做?
答案 0 :(得分:3)
我创造了一个专门满足这个要求的新宝石。希望它有所帮助!
答案 1 :(得分:1)
没有理由不这样做。谷歌CDN的重点在于,当许多不同的网站使用相同的CDN文件时,浏览器或其他地方可能已经缓存了它。管道的重点是做同样的事情 - 压缩+包+远期标题。
不使用它的唯一原因是CDN很远,访问者使用的网站也很少使用CDN。
就我而言,我在新西兰,很少有本地网站使用CDN。这会给访问我们网站的人增加一个很高的首次请求惩罚(在浏览另一个本地网站时没有人获得该文件)。我选择将jquery滚动到生产包中以避免请求和加载时间(从新西兰约700mS)。
YMMV!