1

我是 Express for Node.js 的新手,我只是按照Pedro Teixeira 的 Node Tuts Episode 9设置一个简单的应用程序。我想试验布局文件,所以我将布局设置为“真”。但是,当我这样做时,它并没有用我的布局渲染,只有我的身体。我应该如何让它正确渲染?下面是我的 app.js 文件、我的 index.jade、我的 layout.jade 以及我渲染页面的屏幕截图。

应用程序.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);

索引.jade

h2 Hello
p World!

布局.jade

!!! 5
  html
    head
      title My template
    body
  #main
        h1 Content goes here
        p Testing 123
        #container!= body
4

1 回答 1

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 开始,请随意克隆此演示/教程应用程序:
https ://github.com/dotcloud/express-on-dotcloud

您可以在本地使用它并发现 Express 3 的一些不错的功能,如果您想共享您的应用程序,则所有设置都可以推送到dotCloud

于 2012-08-20T21:03:23.397 回答