Only info I found was this:
http://forrst.com/posts/Node_js_Jade_Import_Jade_File-CZW
I replicated the suggested folder structure (views/partials) But it didn't work, as soon as I put
!=partial('header', {})
!=partial('menu', {})
into index.jade, I get a blank screen, the error message I receive from jade is:
ReferenceError: ./views/index.jade:3 1. 'p index'
2. ''
3. '!=partial(\'header', {})'partial is not defined
I'd be very grateful for any help ! (I strongly prefer not to use express.js)
Jade has a command called include. Just use
include _form
given that the filename of the partial is *_form.jade*, and is in the same directory
As of August 2012 (possibly earlier) Partials have been removed from Express.
A lot of tutorials are now out of date. It seems that you can replicate much of the partial functionality with include.
Eg.
movies.jade
div(id='movies')
- each movie in movies
include movie
movie.jade
h2= movie.title
.description= movie.description
HTH
With the latest node/express I get the following movies.jade template to call partials:
div(id='movies')
- each movie in movies
!=partial('movie', movie)
where I have movie.jade in the views directory alongside movies.jade.
movies.jade is called from app.js with:
res.render('movies', { movies: [{ title: 'Jaws' }, { title: 'Un Chien Andalou' }] });
来源:https://stackoverflow.com/questions/5764693/how-do-i-render-partials-with-jade-without-express-js