【问题标题】:How to chain includes in Jade?如何在 Jade 中链接包含?
【发布时间】:2015-11-23 20:06:52
【问题描述】:

我在 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')
     })
  });
};

显然它不会起作用。我们应该怎么做?

【问题讨论】:

    标签: javascript node.js express include pug


    【解决方案1】:

    不要忘记,您也可以直接在 Jade 文件中进行包含,或者简单地在 Jade 格式的包含字符串上使用 jade.render(例如以下 contains.jade 的内容)。似乎没有充分的理由像您在示例中那样进行递归包含。只需在 Jade 文件本身中根据需要添加包含即可。

    类似:

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

    包括.jade

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-04
      • 2017-11-10
      • 1970-01-01
      • 2017-01-13
      • 2012-12-30
      • 1970-01-01
      • 2013-09-05
      相关资源
      最近更新 更多