2011-11-17 8 views

Odpowiedz

22

CoffeeScript kompiluje się do JavaScript na żądanie, gdy żądanie jest wykonane do widoku zawierającego zasób CoffeeScript.

Jednakże, można użyć następujących mieć coffeescript skompilować do JavaScript z wyprzedzeniem:

rake assets:precompile 

Zobacz ten link uzyskać więcej informacji na temat aktywów rurociągu szynach.

z linku:

Rozszerzenia plików używane na aktywa ustalić, co przerób jest stosowana. Kiedy kontroler lub rusztowanie jest generowane z domyślnym zestawem gem Rails, plik CoffeeScript i plik SCSS są generowane w miejsce zwykłego pliku JavaScript i CSS. Przykład użyty wcześniej to kontroler o nazwie "projekty", który wygenerował plik aplikacji/assets/javascripts/projects.js.coffee i z pliku app/assets/stylesheets/projects.css.scss.

Gdy te pliki są wymagane, są przetwarzane przez procesory dostarczone przez klej do kawy i klejnoty sass-rails, a następnie odsyłają do przeglądarki odpowiednio jako pliki JavaScript i CSS.

...

Aktywa są kompilowane i buforowane na pierwsze żądanie, gdy serwer jest uruchomiona. Funkcja Sprockets ustawia nagłówek HTTP Cache-Control, który wymaga ponownej autoryzacji, aby zmniejszyć nakład pracy związany z żądaniami kolejnych żądań - na tych przeglądarkach uzyskuje się odpowiedź 304 (niezmodyfikowaną) (304).

Jeśli którykolwiek z plików w manifeście zmienił się między żądaniami, serwer odpowiada nowym skompilowanym plikiem.

...

Rails jest dostarczany z zadaniem natarcia skompilować ten składnik przejawia i inne pliki w rurociągu na dysku.

Skompilowane zasoby są zapisywane w lokalizacji określonej w config.assets.prefix. Ustawienie domyślne użyje katalogu publicznego/aktywów .

Musisz użyć tego zadania podczas wdrażania lub lokalnie, jeśli nie masz dostępu do zapisu do produkcyjnego systemu plików.

Zadanie prowizja wynosi:

bundle aktywa Exec Zgrabiarka: prekompilacji

UPDATE: Dla zainteresowanych prekompilacja aktywów na rzecz rozwoju, należy ustawić zmienną RAILS_ENV do rozwoju pierwszy (od here):

RAILS_ENV=development bundle exec rake assets:precompile 
+2

To wszystko dotyczy prawa do produkcji? A co ze środowiskiem programistycznym? – Jaseem

+0

Zaktualizowano, aby rozwiązać problem związany z środowiskiem programistycznym. –