Я думаю, что это действительно зависит от типа приложения, которое вы пишете. Если у вас есть страница, которая в основном обслуживает отдельные страницы, и вписывается в типичную форму CRUD/MVC, это может не быть проблемой. Однако, если вы пишете что-то динамическое с тонны ajax, это проблема :-)
Я чувствую вашу боль - меня это несколько укусило в разных стопках. В итоге я просто выполнил все привязки списков с асинхронными вызовами в браузере, которые выполняются после загрузки основной страницы. Это воняет, потому что вам нравится этот первый запрос, который поставляется со страницей данных предварительно привязанного списка, но последующая страница должна управляться вызовами ajax. Я просто не хочу писать материал шаблона один раз для сервера и один раз для клиента.
Я не думаю/думаю/Jade поддерживает такую привязку на стороне клиента. Хорошей новостью является то, что есть несколько популярных языков шаблонов, которые работают как на сервере, так и в браузере. Два я знаю, являются:
Я не видел никого, используя пластины с курьерским, как он относится к проекту flatironjs, какой вид имеет это собственная растущая структура. Есть тонны примеров там использования усов и EJS с курьерским:
На стороне записки, вот список шаблонных пакетов для узла на сайте Joyent в:
https://github.com/joyent/node/wiki/modules#wiki-templating
Мое предложение начать с EJS - это немного больше вниз к земле с синтаксисом не-HAML-esque, поддерживает привязку к клиенту и серверу и, кажется, хорошо принят в экспресс-стеке.
Счастливое кодирование!
Спасибо, это было полезно. Под «переплетными списками» вы имеете в виду «заполнение данными»? Кроме того, вы, похоже, предлагаете работать только с клиентскими шаблонами, чтобы не требовалось переписывать их для сервера. Итак, почему вы выделили шаблонные языки, которые работают как на клиенте, так и на сервере? – Randomblue
Когда я говорю привязки списков, я имею в виду запрос на список данных (обычно json/xml, paged), применение этой структуры данных к шаблону и предоставление html клиенту. Я не предполагаю, что вы используете только шаблоны на стороне клиента - причина, по которой я указывал те, которые работают на обоих, заключается в том, что мне нравится иметь их в обоих случаях. –
Например, мне нравится иметь шаблон для элемента списка в ретрансляторе. Использование этого на клиенте отлично работает - вы запрашиваете страницу данных и связываете их все в клиенте. Что происходит, когда я хочу использовать один и тот же шаблон в заголовке страницы? Я не собираюсь делать HTTP-запрос только для этой информации заголовка, но я не хочу писать тот же шаблон снова только для этого использования. Вот где двойное назначение шаблонов становится удивительным. (извините за супер длинный пост) –