2009-12-11 48 views

回答

3

我還沒有在heroku上試過它,但Sprockets可能對此很好。此外,在過去,我有更多的運氣

:cache => 'all.css' 
:cache => 'all.js' 

,而不是「真實」

+1

如果您想使用鏈輪,請確保您檢出https://github.com/jeffrydegrande/sprockets_on_heroku。 Sprockets絕對是值得關注的,因爲它將在Rails 3.1中默認捆綁(不確定它是否在Rails 3中)。 – webmat 2011-05-10 14:19:06

1

這是管理你的CSS/JavaScript的方式不同,但你可能要檢查出的Rails插件shoebox

鞋盒可以進行組合,縮小和緩存。

0

項目名稱說明了一切:

http://github.com/amasses/heroku_asset_packager

+0

但是,這會將打包的資產放入'/ tmp'中,根據http://docs.heroku.com/constraints,它不一定會貫穿請求 – 2010-02-10 18:18:50

+0

您嘗試過Jammit嗎? http://documentcloud.github.com/jammit/我已經閱讀了其他公共項目提交的幾個提交,但是我沒有嘗試過。我不得不在不久之前自己測試一下......不要選擇預編譯,讓gem編譯資源,然後清除它下面的任何文件,並查看它是否重新編譯資產。我沒有閱讀Jammit的消息來源來確認,但除非你找到別的東西,否則值得一試。 – databyte 2010-02-12 04:02:14

23

我在Heroku上使用Jammit。很棒。您可以在本地建立您的資產並登錄到heroku。使用

jammit --force 

當前版本0.5.1對Heroku的工作問題,但您可以安裝git的固定版本://github.com/documentcloud/jammit.git

如果您使用Rails 3 ,請指定打捆以下的Gemfile:

gem "jammit", :git => "git://github.com/documentcloud/jammit.git" 

對於Rails開發2 *

config.gem "jammit", :source => "git://github.com/documentcloud/jammit.git" 

好呂克ķ。

8

我發現添加一個編譯和打包資產的git預提交鉤子,然後將它們添加到當前提交中,在這種情況下派上用場。

礦用Jammit看起來是這樣的(在.git/hooks/pre-commit):

jammit 
rake barista:brew 
git add public/assets/* 
git add public/javascripts/* 

像這一切你的資產將被打包爲您和您不必再擔心它。

0

可能有多種方法可以做到這一點,但什麼工作對我來說是前推來縮小。然後我使用一個子樹將我的構建文件與「源」文件分開。因此,舉例來說,如果你建立一個名爲「DIST」的文件夾,你可以把一個叫做的Heroku /主這樣子樹:

git subtree push --prefix dist heroku master 

只是不要忘記,以確保dist文件夾也是不可忽視(它通常是默認情況下) - 因此請相應地編輯.gitignore文件。

--prefix命令確保dist文件夾從該分支的角度有效地成爲「root」文件夾。