2009-12-11 16 views

Odpowiedz

3

Nie próbowałem jeszcze na heroku, ale Sprockets może być na to dobry. Również w przeszłości, miałem więcej szczęścia z

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

zamiast „true”

+1

Upewnij się, że sprawdzisz https://github.com/jeffrydegrande/sprockets_on_heroku, jeśli chcesz użyć Sprockets. Sprockets to zdecydowanie coś do oglądania, ponieważ będzie on domyślnie dołączony do Rails 3.1 (nie jestem pewien, czy jest on jeszcze w Rails 3). – webmat

1

To inny sposób zarządzać CSS/JavaScript, ale może warto sprawdzić wtyczki Rails shoebox .

Shoebox może łączyć, minimalizować i buforować.

0

Nazwa projektu mówi wszystko:

http://github.com/amasses/heroku_asset_packager

+0

Ale to umieszcza pakowane zasoby w '/ tmp', które zgodnie z http://docs.heroku.com/constraints, niekoniecznie będą się kłaniać pomiędzy żądaniami. –

+0

Czy próbowałeś Jammit? http://documentcloud.github.com/jammit/ Czytałem kilka commits z innych publicznych projektów, które przeszły do ​​tego, chociaż nie próbowałem siebie. Będę musiał przetestować to sam wkrótce ... nie wybieraj prekompilacji, nie pozwól klejowi skompilować zasobów, a następnie wyczyść wszystkie pliki spod niego i sprawdź, czy ponownie skompiluje zasoby. Nie czytałem źródła Jammita, żeby to potwierdzić, ale warto spróbować, chyba że znajdziesz coś innego. – databyte

23

Używam Jammit na Heroku. Działa świetnie. Możesz lokalnie zbudować swoje zasoby i zameldować się w Heroku. używać

jammit --force 

aktualnej wersji 0.5.1 ma problemy pracujących na Heroku ale można zainstalować ustaloną wersję z git: //github.com/documentcloud/jammit.git

Jeśli używasz szyny 3 określ poniżej w Bundler Gemfile:

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

dla szyn 2. *

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

dobry Luc k.

8

Odkryłem, że dodanie haka git przed zatwierdzeniem, który kompiluje i pakuje zasoby, a następnie dodaje je do bieżącego zatwierdzenia, przydaje się w tym przypadku.

Mine użyciu Jammit wygląda mniej więcej tak (w .git/hooks/pre-commit):

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

jak ten wszystkie swoje aktywa będą pakowane do Ciebie i nie musisz martwić się już o tym.

0

Prawdopodobnie istnieje wiele sposobów, aby to zrobić, ale to, co działa dla mnie jest minify przed pchania. Następnie używam poddrzewa, aby moje pliki kompilacji pozostały oddzielone od plików "źródłowych".Tak więc, na przykład, jeśli budujemy w folderze o nazwie „gmina”, można przesunąć do poddrzewa o nazwie Heroku/master tak:

git subtree push --prefix dist heroku master 

Tylko nie zapomnij, aby upewnić się, że folder gmina nie jest ignorowany (często jest to domyślnie) - edytuj odpowiednio plik .gitignore.

Polecenie --prefix zapewnia, że ​​folder dist faktycznie staje się folderem "root" z punktu widzenia tej gałęzi.

Powiązane problemy