Как отредактировать части с нефритом без 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' }] });