我是Express for Node.js的新手,我只是按照Pedro Teixeira's Node Tuts Episode 9设置了一个简单的应用程序。我想试验布局文件,所以我将布局设置为“true”。当我这样做时,它没有用我的布局呈现,只有我的身体。我应该如何正确渲染它?下面是我的app.js文件,我的index.jade,我的layout.jade,以及我渲染页面的截图。
app.js
var express = require('express');
var app = express.createServer();
app.configure(function () {
app.use(express.logger();
});
app.set('views', __dirname + '/views');
app.set('view engine','jade');
app.set('view options', {layout: true});
app.get('/', function(request, response) {
response.render('index');
});
app.listen(4000);
index.jade
h2 Hello
p World!
layout.jade
!!! 5
html
head
title My template
body
#main
h1 Content goes here
p Testing 123
#container!= body
答案 0 :(得分:4)
如果您使用的是Express 3,那么渲染模板的方式是正常的。
您的布局必须如下:
!!! 5
html
head
title My template
body
#main
h1 Content goes here
p Testing 123
block content
你的模板:
extends layout
block content
h1 Something
这里的例子:
https://github.com/dotcloud/express-on-dotcloud/blob/master/app/views/layout.jade#L64
https://github.com/dotcloud/express-on-dotcloud/blob/master/app/views/welcome.jade#L1
如果您从Node开始,Express可随意克隆此演示/教程App:
https://github.com/dotcloud/express-on-dotcloud
你可以愚弄它,并发现Express 3的一些不错的功能,如果你想分享你的应用程序,它就会被设置为推送到dotCloud。