A012faeaa44311fd38b97905c6f30292

用 jquery-cdn-gem 來減少 Rails assets 大小

2012-06-11 11:27:42 +0800yjchenxRuby on Rails 節點 中發起
最後由 lulalala2012-07-09 11:03:58 +0800回應 , 341次閱讀

jquery-cdn-gem (http://github.com/kenn/jquery-rails-cdn) 讓Rails使用 CDN 來減少 application.js 的大小。在 Gemfile 中加入 jquery-cdn-gem,在 application.js 中移除 jquery,然後在 app/views/layout/application.html.erb 中加入:

= jquery_include_tag :google

在 development 時,會使用原來的 jquery assets,但在 production 時則會用 CDN,而且當CDN無法讀取時用 jquery assets。我做了一個可以支援 jQuery-UI 的版本 (http://github.com/yjchen/jquery-rails-cdn/)。

從recompiled的assets來看,jQuery有93k(壓縮後33K),jQuery-UI有197k(壓縮後50k)。使用CDN在檔案大小不無小補。

截至 2012-07-09 11:03:58 +0800,共收到 2 條回應
009994c3985985809d2d644bd49aa1c2
lulalala 1樓, 於2012-06-28 13:57:45 +0800回應

好用!換成CDN後就跟 application.js 平行抓取。而且常常會比自己的 server 快,可說是沒有壞處~

009994c3985985809d2d644bd49aa1c2
lulalala 2樓, 於2012-07-09 11:03:58 +0800回應

有一個bug,要是我沒有使用 CDN 版的 JQuery UI(就是原來使用 JQuery-ui-rails gem),會導致 JQuery-ujs 的 ajax:complete 之類的 event 都無作用。這算是蠻奇怪的 bug,不知道什麼原因造成的。

有些人只會使用 JQuery 的一小部分 module,所以不用CDN反而比較快。

需要 登入 後方可回應,如果你還沒有帳號按這裡 註冊