2012-04-27 3 views
5

Я пытаюсь заставить Усы работать нормально с Express, и, как можно догадаться, у меня проблемы.Node.js + Express - Как получить частичные части Усы?

Следующая строка инициализирует Усы красивым и чистым. Переменные отображаются как ожидалось.

app.register('html', require(__dirname+'/public/js/libs/mustache.js')); 

Однако проблемы начинают повышаться, когда в смеси выбрасываются частицы. С Усыстом это здесь частично должно вызывать заголовок/частичный.

{{> header}} 

Но, увы, ничего не происходит. :/Даже когда я предлагаю частичное прямо, Усы не могут его отобразить.

app.get('/', function(req, res) { 
    res.render('welcome', { 
     partials: { 
      header: '<h1>Header</h1>'   
     } 
    }); 
}); 

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

http://bitdrift.com/post/2376383378/using-mustache-templates-in-express

После этого парциальных делают, когда предлагаются непосредственно в процессе визуализации вызова (см выше), но он все еще не на оказание партиалы непосредственно взгляды/макеты:

Layout выглядит примерно так:

Behold, the header 
{{> header}} 
<p>Let's move to more important stuff...</p> 

вид заголовка выглядит примерно так:

<h1>Header</h1> 

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

ответ

2

Удалось выполнить эту работу с использованием последней версии hogan-express.

https://github.com/vol4ok/hogan-express

Все, что необходимо, чтобы установить Хоган-экспресс и использовать его в качестве шаблона двигателя на экспресс. Не требуется взломать или настроить.

+0

Любые дальнейшие комментарии о том, как вы это делали или проблемы, с которыми вы столкнулись? для того, чтобы немного перезагрузить чей-то процесс;) (Тогда я буду перенаправлять) – electblake

+1

Все, что я сделал, это установить hogan-express и использовать его в качестве механизма шаблонов на экспресс. :) Нет необходимости взломать или настроить. – crappish

0

Я не уверен, что именно в вашем ./public/js/libs/mustache.js ... Я использую модуль усов от npm + вариации объекта шаблона you linked to.

В любом случае, предмет, которому вы перешли на app.register, необходимо позвонить в mustache.to_html(template, locals, partials).

Вам необходимо передать объект partials в качестве третьего аргумента в усы to_html.

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