在Express布局中阻止和扩展,Express不起作用

时间:2011-11-24 06:19:57

标签: node.js express pug

我为节点编写了一个小型快速站点。我正在使用Jade进行布局,并尝试处理新的扩展/块位。当我在这里使用标准布局/子视图模式列表时,一切都很好:

https://github.com/visionmedia/express/blob/master/examples/jade/views/layout.jade

我想要花哨并使用块将自定义html填充到主布局的特定部分。所以我转换到看起来更像这样的东西:

https://github.com/visionmedia/jade/blob/master/examples/extend-layout.jade

https://github.com/visionmedia/jade/blob/master/examples/extend.jade

使用上面扩展布局示例中的确切代码,我的页面将始终呈现extend-layout.jade部分,但不会呈现内部的内容。块内的任何东西似乎都不会被渲染。我试过这个,但它没有帮助:

https://github.com/visionmedia/jade/issues/377

我正在运行节点0.6.2,表示0.2.5,并且玉0.18。任何人?

2 个答案:

答案 0 :(得分:1)

现在不推荐使用Express的v3来布局配置条目。

您只能使用阻止/扩展样式。

答案 1 :(得分:0)

所以我已经弄明白了什么。我手动指定要在express中使用的布局 - 我将其设置为正确的布局,但删除该行解决了问题。示例(遇到其他人):

exports.index = function(req, res){
  res.render('index', { title: 'Express' })  // this works!
  res.render('index', { title: 'Express', layout: 'layout' }) // this doesn't work
};

我原本期望一种不同的行为 - 包括这样的显式布局只会导致子视图无法在主布局中呈现。