Chciałbym mieć wszystkie szablony szkieletów w jednym pliku JS, aby móc je łatwo dystrybuować za pośrednictwem CDN. Idealnie powinien działać także z przepływem pracy Rails Compile.
Możliwe rozwiązanie nr 1:
Pojedynczy plik JS ze wszystkimi szablonami zadeklarowanymi jako takie:
app.templates.view = "
<h3>something code</h3>
";
Zbyt brudno. Brak podświetlania.
Możliwe rozwiązanie nr 2:
Pojedynczy plik html ze wszystkimi wbudowanymi szablonami. Dołącz część do mojego głównego dokumentu.
<script type="text/template" id="list-item">
<li><%= item %></li>
</script>
Nie mogę korzystać z zalet zminimalizowanego pliku JS rozprowadzanego przez mój CDN. Szablony będą zgodne z moim plikiem HTML.
Możliwe rozwiązanie nr 3:
Użyj Require.js, ale wydaje się, że nie rozwiązuje to konieczności uwzględnienia wszystkich szablonów w pojedynczym pliku JS.
Odpowiedzi:
0 dla odpowiedzi № 1Spojrzeć na Dróżnik. Daje ci to naprawdę przyjemny przepływ pracyopracowywanie klientów JavaScript. Jest to po prostu zbiór zadań Grunt zagregowanych w super prosty przepływ pracy. Jedną z rzeczy, które robi to jest kompilacja wszystkich szablonów podkreślenia (lub kierownic) w JST (np. Rails). W tym celu używa "grunt-contrib-jst" i wysyła szablony do "generated / template / underscore.js". Następnie kompiluje wszystkie pliki JS w jeden plik, ale można łatwo wprowadzić osobno pliki .js.
Może wskazać ci właściwy kierunek.
0 dla odpowiedzi nr 2
Dzięki za odpowiedzi. Skończyłem z możliwym rozwiązaniem nr 2, w którym mam kilka szablonów i zawartych w pliku głównym przy użyciu części Railsowych. Na razie dystrybucja szablonów za pośrednictwem CDN nie przynosi większych korzyści.
* Nie zdecydowałem się na użycie Grunta, ponieważ myślę, że to dodaje dodatkowej złożoności w przepływie pracy, biorąc pod uwagę, że wszyscy twórcy w zespole muszą przyjąć nowy obieg pracy.