Kiedy Railsy kompilują zasoby Coffeescript do JavaScript? Czy dzieje się to na żądanie lub na starcie?Kiedy Railsy kompilują CoffeeScript?
Odpowiedz
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
To wszystko dotyczy prawa do produkcji? A co ze środowiskiem programistycznym? – Jaseem
Zaktualizowano, aby rozwiązać problem związany z środowiskiem programistycznym. –