我在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')
})
});
};
显然它不会起作用。我们该怎么办呢?
答案 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')
});
};
include ./views/B.jade
include ./views/C.jade
include ./views/D.jade
include ./views/E.jade
或者,您可以使用for循环。