Как отредактировать части с нефритом без express.js?

Только я нашел следующее:

http://forrst.com/posts/Node_js_Jade_Import_Jade_File-CZW

Я воспроизвел предложенную структуру папок (представления/частичные). Но это не сработало, как только я положил

!=partial('header', {})
!=partial('menu', {})

в index.jade, я получаю пустой экран, сообщение об ошибке, которое я получаю от нефрита:

ReferenceError:./views/index.jade:3     1. 'p index'
    2. ''     3. '!= Partial (\' header ', {})'

частичный не определен

Буду очень благодарен за любую помощь! (Я предпочитаю не использовать express.js)

Ответ 1

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

У меня есть свой собственный класс-помощник для рендеринга нефрита с частицами, которые вы можете использовать или получить некоторые идеи из здесь, (используя Joose и Cactus)

Ответ 2

Jade имеет команду, называемую include. Просто используйте

include _form

учитывая, что имя частичного файла равно * _form.jade * и находится в том же каталоге

Ответ 3

По состоянию на август 2012 года (возможно, ранее) Частицы были удалены из Express.

Много учебников теперь устарели. Кажется, что вы можете воспроизвести большую часть частичной функциональности с помощью include.

Eg.

movies.jade

div(id='movies')
  - each movie in movies
    include movie

movie.jade

h2= movie.title
.description= movie.description

НТН

Ответ 4

С последним node/express я получаю следующий шаблон movie.jade, чтобы вызвать частичное:

div(id='movies')
  - each movie in movies
    !=partial('movie', movie)

где у меня есть movie.jade в каталоге views рядом с movie.jade.

movie.jade вызывается из app.js с помощью:

res.render('movies', { movies: [{ title: 'Jaws' }, { title: 'Un Chien Andalou' }] });