怎么链包括在玉?

时间:2015-08-29 06:21:39

标签: javascript node.js express include pug

我在node.js Express中使用Jade模板引擎。如果我们希望在Jade文件中包含另一个Jade文件,我们可以执行以下操作:

exports.overview = function(req, res, next) { 
  var jade = require('jade');
  res.render('A', {
     main: jade.renderFile('./views/B.jade')
  });
};

我的问题是:如果我们希望将包含链接到2个以上的文件怎么办?假设A.jade包括B.jade,而B.jade又包括C.jade。我以为我们可以做到这一点:

exports.overview = function(req, res, next) { 
  var jade = require('jade');
  res.render('A', {
     main: jade.renderFile('./views/B.jade',{
        carousel: jade.renderFile('./views/C.jade')
     })
  });
};

显然它不会起作用。我们该怎么办呢?

1 个答案:

答案 0 :(得分:0)

不要忘记您也可以直接在Jade文件中包含,或者只是在Jade格式化包含的字符串上使用jade.render(例如include.jade的以下内容)。看起来似乎并没有像在示例中那样做递归包含的理由。只需根据需要在Jade文件中添加include。

类似的东西:

exports.overview = function(req, res, next) { 
  var jade = require('jade');
  res.render('A', {
     main: jade.renderFile('./views/includes.jade')
  });
};

includes.jade

include ./views/B.jade
include ./views/C.jade
include ./views/D.jade
include ./views/E.jade

或者,您可以使用for循环。