Усино-шаблонный язык расширяется? - PullRequest
4 голосов
/ 07 марта 2012

Мне нравится минимальное количество шаблонных языков в стиле усов - в настоящее время я использую усы и icanhasmustache, но я также проверил руль и хоган.

Однако мне нужна функциональность типа "extends", чтобы дочерний элемент мог ссылаться на определенный родительский шаблон.Я не могу найти документацию о том, как расширения реализованы в любом из вышеперечисленного, но я видел (из случайных списков githib), что другие люди, кажется, делают это.

Примечание : Мне известно о существовании включений (иногда называемых частичными), однако, похоже, что они принадлежат родителю для ссылки на конкретного ребенка.Это противоположно тому, что я ищу - дочерний шаблон в данном случае является настоящим «базовым» документом, родительский просто второстепенный, поэтому я хочу, чтобы дочерний элемент контролировал отношения.

Ответы [ 3 ]

8 голосов
/ 14 марта 2012

2016 answer :

Если вы используете экспресс, промежуточное программное обеспечение макета использует параметр layout, который может оказаться полезным.

res.render('page', { layout: 'mylayout.jade' })

оригинальный ответ : Очень немногие библиотеки JS реализуют функциональность типа extends.

  • Монахиня очень похожа на усы, но только сервер (и больше не поддерживается)
  • Swig имеет расширения, но не очень похож на усы.
  • Jade имеет расширение и работает в браузере, но не усы, как

Я остановился на Dust.JS , аон использует усыподобные разделы, работает на клиенте и сервере и поддерживает переопределение блоков на родительском элементе от дочернего, обеспечивая эффективную поддержку расширений.

См. документацию по пыли, раздел «Блоки и встроенные партиалы»:

{>base_template/}
{<title}
  Child Title
{/title}
{<main}
  Child Content
{/main}

Переопределение разделов 'title' и 'main' из родительского шаблона с сохранением окружающего содержимого.

5 голосов
/ 24 апреля 2013

Я изучаю Nunjucks, которые обещают исправить некоторые проблемы, а также поддержать наследование.

РЕДАКТИРОВАТЬ:

Я действительно принял Nunjucks, это довольно солидно до сих пор.Одно ограничение, с которым я столкнулся, заключается в том, что вы не можете указывать несколько папок для предварительной компиляции, но я написал скрипт, позволяющий это сделать.

2 голосов
/ 18 апреля 2012

Реализация Twitter усы, Хоган, похоже, теперь поддерживает наследование.

См. Этот недавний коммит: Хоган 3. Добавьте наследование шаблона ...

...