如何在没有express.js的情况下使用jade渲染部分内容?

时间:2011-04-23 14:19:24

标签: node.js templating pug

我发现的唯一信息是:

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

我复制了建议的文件夹结构(views / partials)但是只要我放

它就不起作用了
!=partial('header', {})
!=partial('menu', {})

进入index.jade,我得到一个空白屏幕,我从jade收到的错误信息是:

  

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

     

部分未定义

我非常感谢任何帮助! (我强烈不想使用express.js)

4 个答案:

答案 0 :(得分:23)

Jade有一个名为include的命令。只需使用

include _form

鉴于partial的文件名是* _form.jade *,并且在同一目录中

答案 1 :(得分:9)

截至2012年8月(可能更早)部分已从Express中删除。

许多教程现已过时。您似乎可以使用include复制大部分部分功能。

例如

movies.jade

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

movie.jade

h2= movie.title
.description= movie.description

HTH

答案 2 :(得分:2)

使用最新的node / express我得到以下movies.jade模板来调用partials:

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

我在views目录中的movies.jade和movies.jade。

从app.js调用movies.jade:

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

答案 3 :(得分:1)

我认为部分渲染是在快递中完成的,所以你必须抓住那些代码或编写自己的代码。

我有自己的帮助类用于玉色渲染,可以使用部分,或者从here获取一些想法,(它使用JooseCactus

相关问题