在Express版本不能正常工作的情况下,在Jade版面中阻塞和扩展

我有一个为节点写的小型快递网站。 我正在使用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示例中的确切代码,我的页面将始终呈现extend-layout.jade部分,但不会显示内部的内容。 任何块内的东西似乎都不会呈现。 我已经给了这个尝试,但它没有帮助:

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

我运行节点0.6.2,expression0.2.5,玉0.18。 任何接受者?

无论如何,Express的v3版本现在都不推荐布局configuration条目。

您只能使用块/扩展样式。

所以我想通了。 我手动指定要使用的布局 – 我将其设置为正确的布局,但删除该行解决了问题。 示例(对于遇到此问题的其他人):

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

我会期望一个不同的行为 – 包括这样的显式布局,只是导致子视图在主布局内不呈现。