Co to jest Mustache.js?

Mustache.js to lekka biblioteka szablonów w JavaScript, która stosuje tzw. „logic-less template syntax”. Oznacza to, że szablony nie zawierają logiki programistycznej. Dzięki temu są bardziej przejrzyste i łatwiejsze w utrzymaniu. Mustache.js umożliwia oddzielenie kodu HTML od danych używanych do renderowania strony, co pozwala na łatwiejsze zarządzanie kodem i jego ponowne wykorzystanie.

Gdzie można używać Mustache.js

Mustache.js dobrze sprawdzi się do generowania dynamicznego HTML-a w aplikacjach jednostronicowych (SPA), współpracując z popularnymi frameworkami takimi jak Angular, React czy Vue.js. Po stronie serwera, w połączeniu z Node.js, Mustache.js efektywnie renderuje szablony przed ich wysłaniem do przeglądarki, co poprawia wydajność aplikacji. Biblioteka ta jest również użyteczna w projektach, które wymagają współdzielenia szablonów między serwerem a klientem — ułatwia to zarządzanie kodem. Mustache.js znajduje zastosowanie również poza webem, np. w generowaniu dokumentów czy e-maili.

Szablony Mustache.js

Szablony Mustache.js są prostymi, ale potężnymi narzędziami do generowania kodu HTML lub innych typów dokumentów na podstawie danych. Używają specjalnych tagów, które są zastępowane odpowiednimi wartościami w momencie renderowania. Poniżej przedstawiamy podstawowe komponenty szablonów w Mustache.js oraz przykłady ich zastosowania.

Tagi Mustache.js

Tagi Mustache są umieszczane wewnątrz podwójnych nawiasów klamrowych {{}}. Oto najczęściej używane tagi:

  • {{variable}} – Tag ten zostanie zastąpiony wartością zmiennej variable przekazanej do szablonu.
  • {{#list}} … {{/list}} – Sekcja, która jest renderowana wielokrotnie w zależności od liczby elementów w liście list.
  • {{^variable}} … {{/variable}} – Sekcja, która jest renderowana tylko wtedy, gdy zmienna variable jest pusta lub fałszywa.
  • {{! comment }} – Umożliwia dodanie komentarza w szablonie, który nie będzie renderowany.
Szukasz wykonawcy IT dla swojego projektu?
Szukasz wykonawcy IT dla swojego projektu?
Szukasz wykonawcy IT dla swojego projektu?
Skontaktuj się!

Przykład szablonu

Rozważmy prosty szablon, który generuje listę zadań do wykonania (to-do list):

<h1>Lista zadań</h1>
<ul>
  {{#tasks}}
    <li>{{name}} - {{status}}</li>
  {{/tasks}}
</ul>

W powyższym szablonie, tasks to tablica obiektów, z których każdy zawiera name i status. Szablon renderuje element <li> dla każdego zadania w liście.

Wprowadzanie danych

Dane są przekazywane do szablonu w formacie JSON, co ułatwia ich manipulację i integrację z innymi systemami. Oto przykład danych dla szablonu listy zadań:

{
  "tasks": [
    {"name": "Zakupy", "status": "Zakończone"},
    {"name": "Nauka Mustache.js", "status": "W trakcie"}
  ]
}

W momencie renderowania, Mustache.js zamienia tagi w szablonie na odpowiednie wartości z przekazanych danych, generując ostateczny kod HTML.

Zalety i możliwości Mustache.js

Główną zaletą Mustache.js jest wyraźne oddzielenie logiki od prezentacji. Dzięki temu kod jest bardziej zrozumiały i czytelny, a zespół pracuje efektywniej. Mustache.js zaprojektowano z myślą o szybkim renderingu szablonów, co sprawdza się zarówno w przeglądarkach internetowych, jak i w aplikacjach serwerowych opartych na Node.js. To łatwe i intuicyjne narzędzie dla początkujących deweloperów, a jednocześnie nie ogranicza zaawansowanych możliwości. Mustache.js jest cennym narzędziem do zarządzania szablonami w projektach webowych.

FAQ – Frequently Asked Questions

razem stwórzmy coś ciekawego