Okazało się, że jest to wprowadzanie w błąd, ponieważ uważam, że sugeruje, że takie pliki mogą zawierać mieszankę zarówno kodu javascript, jak i coffeescript. Czy jest coś bardzo podstawowego, czego mi brakuje?Dlaczego szyny używają rozszerzenia .js.coffee dla plików coffeescript, skoro nie mogą zawierać kodu javascript?
Odpowiedz
Jest to powszechna praktyka w Rails dla szablonów mieć rozszerzenia jak .js.coffee
, .html.erb
, .html.haml
itp
Jeśli dobrze pamiętam Szyny interpretuje te rozszerzenia jako .[format].[builder]
i wykorzystuje tę wiedzę zrobić dwie rzeczy:
- znajdź odpowiedni szablon według wartości
[format]
, porównując go z akceptowalnymi formatami wymienionymi w nagłówku żądania:Accept
; - znajdź odpowiedni procesor szablonu według wartości
[builder]
, aby przeanalizować szablon.
Sądzę, że to jest podstawowa rzecz, której mi brakowało: zacząłem od plików html.erb i zawierają one kod HTML i erb, co doprowadziło do mojego obecnego zrozumienia – prusswan
@ KL-7 - dziękuję. Mam oddzielne, ale powiązane pytanie: dlaczego są pliki .coffee i pliki .js.coffee w folderze javascript? Jaka jest różnica między nimi? – BKSpurgeon
I można włączyć zwykły javascript, jeśli używasz wycofań.
Działałoby coś takiego jak `function(){ do something };`
.
Robią to samo dla plików CSS: .css.scss –