Удобно и практично ли использовать шаблонизаторы (Jade и т.п.) в мелких проектах?
Давно занимаюсь front-end'ом, но не так давно стал пользоваться Gulp для сборки проектов (сборка и минимизация стилей, скриптов и html в основном). Очень упростило работу со стилями в не мелких проектах. Работу со стилями я себе оптимизировал так сказать. Теперь подумываю заняться оптимизацией работы с html. Верстку в основном приходится делать для интернет-магазинов, сайтов каталогов и реже сайты визитки и подобное. Немного читал и смотрел видео про Jade (это первый шаблонизатор, который начал изучать), не все моменты работы с ним(или ней) понятны, но это можно разобрать.
Мне в основном интересно, насколько просто, разумно и удобно использовать шаблонизаторы как в простых проектах (типа сайты визитки и т.п.) так и в более сложных? В более сложных, интернет-магазинах, требуется верстка списка товаров например, или подобных компонентов, где дублированная структура каких-то компонентов сайта (элементов товаров в списке), которую не очень уж и удобно руками или копированием делать можно через шаблонизатор оптимизировать. А какие-то одиночные и мелкие компоненты (кнопка, форма или какой-то блок, который только в одном месте на сайте встречается) или верстка мелких сайтов, удобно ли их с использованием шаблонизаторов делать?
Конкретно в случае с Jade - очень целесообразно в проектах разнообразной сложности.
При условно низком пороге вхождения он очень сильно упрощает и ускоряет разработку.
Хотя если это сайт на 3 страницы, то и emmet справится )
В мелких не удобно. В больших да.
Для мелких можно использовать плагин gulp-rigger и инклюдить куски кода такой конструкцией //= nav.html
Я в своей работе не использую HTML шаблонизаторы, обхожусь данным плагином и для больших проектов. Мне больше нравится emmet. И лично для меня, куда проще видеть привычный синтаксис чем запоминать еще один и в довесок всякие миксины и функции шаблонизатора. Их в препроцессорах CSS и так хватает.
gulp-rigger пользуюсь, но все равно не очень удобно. Особенно когда какая нибудь менюха с большим кол-вом пунктов и вложенных уровней и этим менюхи на разных страницах повторяются, но разные. Шапку и подвал через него только удобно импортировать для меня.
Вам пора познакомиться с веб-компонентами. Вся ваша дублированная структура и легкие модификации решаются очень тривиально банальным наследованием компонентов. Это позволяет беспрецедентно поднять количество переиспользуемого кода и понизить сложность сопровождения. Шаблонизаторы не нужны в принципе как класс.
Ну и движок у меня сам занимается сборкой проекта с учётом зависимостей, на это идет пару десятков милисекунд идет один раз после изменений, так что можно прямо в продакшене использовать, так что этап сборки проекта у меня тоже отсутствует как класс.