如何在 Jade 中链接包含?
How to chain includes in Jade?
我在 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,后者又包含 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')
})
});
};
显然这行不通。我们应该怎么做?
不要忘记,您也可以直接在 Jade 文件中包含,或者简单地在 Jade 格式的包含字符串上使用 jade.render
(例如 includes.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 循环。
我在 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,后者又包含 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')
})
});
};
显然这行不通。我们应该怎么做?
不要忘记,您也可以直接在 Jade 文件中包含,或者简单地在 Jade 格式的包含字符串上使用 jade.render
(例如 includes.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 循环。