Какая наиболее удобная практика шаблонизации в Javascript?
Вопрос о способах шаблонизации - хранения верстки в клиентских приложениях. Сабж то в чем - у меня опыт в одностраничных приложениях чуть больше чем нулевой и потому спрашиваю какая наиболее удобная по вашему мнению схема работы, чтобы не долбать себе мозг в будущем.
Собственно какие я знаю:
1. Передать верстку прямо с сервера, например из PHP. В этой верстке в нужных местах оставить хлебные крошки типа .tpl[data-name="tplname"] и потом искать эти шаблоны в нужный момент и копировать/вставлять при изменении моделей. Перед выводом плейсхолдеры заменяются на значения из обьекта и выводятся.
2. Передать всю верстку обернутую в теги script прямо в коде самого контроллера клиентского приложения. Но нужно привыкнуть к редактированию кода, обернутого в скрипт. Перед выводом плейсхолдеры заменяются на значения из обьекта и выводятся.
3. При запуске приложения делается ajax запрос, который запрашивает целую кучу верстки, которая потом сохраняется в переменной в модуле на будущее. Возникает проблема разбиения полученной кучи на удобные куски. Перед выводом плейсхолдеры заменяются на значения из обьекта и выводятся.
4. Делать запрос на конкретный div.html непосредственно когда появилась необходимость, а уже запрошенные хранить в переменной модуля. Минусы - дикое число запросов на сервер даже при сотне клиентов.
5. Сразу писать верстку через обычную конкатенацию строк в яваскрипте. Весьма сложно приучить _какбы_глупого_какбы_верстальщика_ к такому виду верстки - с одинарными кавычками и плюсиками в начале каждой строки.