2012-04-20 3 views
3

Существует так много шаблонных движков для node.js и express, и есть даже это подробное сравнение: http://paularmstrong.github.com/node-templates/index.html Это привело меня к проверке EJS, Mu2 и JQTpl, и я потратил несколько часов на экспериментирование, какая из них лучше всего подходит мне.Использование HTML-помощников в Node.js?

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

Есть ли рекомендуемые модули, которые позволяют мне использовать помощники? Возможно, даже используя mustache.js (который - для меня - чувствует себя как лучший из тех, которые я пытался)? Заранее спасибо!

ответ

0

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

Если вы используете Экспресс (который вы упомянули в своем вопросе), вы можете сказать, какие помощники вы хотите раскрывать независимо от используемого механизма шаблонов (устанавливается через переменную приложения «view engine») - см. Следующие секции Express Guide для получения более подробной информации:

  • View Rendering - объясняет, как настроить Express для использования определенного шаблонизатора. Пример относится к Jade, который установлен с Express по умолчанию и поддерживает вспомогательные службы.
  • Server.helpers() - Как зарегистрировать статические помощники вида должны быть переданы в шаблон
  • Server.dynamicHelpers() Как зарегистрировать хелперы, которые могут получить доступ к Request и Response объектов

Некоторые шаблонные двигатели поставляются с поддержкой Express Express, хотя для этого может потребоваться дополнительный этап настройки. Я частично отношусь к CoffeeKup (и более совершенному fork coffeecup), который позволяет писать ваши мнения в Coffeescript; включить автоматическую компиляцию требует и дополнительного вызова объекта Server Express (и покрыл в документации):

app.register('.coffee', coffeecup.adapters.express); 

Других могут предложить дополнительный пакет узла, вы можете найти npm search express- поучительны. Например, express-handlebars специально исправляет app.helpers() и app.dynamicHelpers() для работы с рулями. (Отказ от ответственности: я не использовал этот модуль лично).

Смежные вопросы