Ответ 1
Механизмы JavaScript-шаблонов часто используются при написании толстых JS-клиентов или в качестве "нормальных" механизмов шаблонов при использовании серверных js, таких как Node.js.
Вместо того, чтобы загромождать код, создавая HTML, используя конкатенацию строк и т.д., вы вместо этого используете шаблон и интерполируете переменную в них.
Например, в примере ниже вы передаете массив foo
механизму шаблона, который затем интерполирует (заменяет placeholder ${data}) на элемент я из массива foo:
//pseudo code
<table>
<tr>
for each variable data in foo
<td>${data}</td>
end
<tr>
</table>
В таких рамках, как backbone.js, вы обычно используете шаблон для реализации части представления шаблона MVC.
В JS существует много разных типов движков шаблонов. Некоторые из них являются прямыми портами на стороне сервера, такими как ERB, HAML и т.д. Другие разработаны специально для работы с JavaScript, т.е. Pure
Существует дискуссия о том, какую выразительность должен предоставить механизм шаблонов, потому что установка логики в ваши шаблоны обычно является плохим. Из-за этого некоторые шаблонные механизмы специально разработаны, чтобы не позволить вам вставлять в них логику i.e Mustache