Node + Express + Jade:只有layout.jade正在渲染

时间:2013-01-13 22:37:49

标签: node.js express pug

我的路线定义为

server.get('/', function (req, res) {
    console.log('INDEX!');
    res.render('index.jade', {
        locals: {
            title: 'Your Page Title',
            description: 'Your Page Description',
            author: 'Your Name'
        }
    });
});

index.jade定义为:

div hello world!!

但我所看到的http://localhost:8081/我看到的只是布局,没有“你好世界!”。我甚至没有在我看来扩展布局......为什么会发生这种情况?

INDEX! 正在呈现给我的控制台,所以我知道它正在触及那条路线。

2 个答案:

答案 0 :(得分:1)

删除.jade

res.render('index', {
    locals: {
        title: 'Your Page Title',
        description: 'Your Page Description',
        author: 'Your Name'
    }
});

还要确保正确设置了视图配置:

server.set('views', __dirname + '/views');
server.set('view engine', 'jade');

答案 1 :(得分:0)

我需要添加

server.set("view options", { layout: false });

告诉express不要自动使用默认布局。我想因为我的视图没有定义content块(在我的布局中使用),我的内容都没有出现;只有布局。