玉器模板引擎,如何使用layout.jade?

我在node.js有一个网站; 创build一个页面,说mypage我注意到我需要创build一个layout.jademypage.jade文件。 如果我把代码放在mypage.jade它不会显示,所以首先我layout.jade layout的布局来填充layout.jade

我的问题是,如何在layout.jade中引用我想在某个容器中加载mypage.jade的内容,例如? 我可以用相同的布局有不同的页面吗? 我怎样才能做到这一点?

谢谢

http://expressjs.com/guide.html#view-rendering

如果你不想使用布局,你可以全局禁用它们:

 app.set('view options', { layout: false }); 

如果你不这样做,默认情况下,布局是启用的,而Express在your_view_folder / layout.jade中search标准布局

您可以为每条路线指定一个单独的布局:

 res.render('page', { layout: 'mylayout.jade' }); // you can omit .jade if you set the view engine to jade 

以下是您的布局文件的样子:

 doctype html html(lang="en") head title Testing 123 body div!= body 

请注意,body将取自“mypage.jade”。

编辑

这是应用程序中的一个真实例子:

应用程序文件(包含路由和configuration):
https://github.com/alexyoung/nodepad/blob/master/app.js

布局文件:
https://github.com/alexyoung/nodepad/blob/master/views/layout.jade

在快车3.x

使用Jade块,而不是布局

http://www.devthought.com/code/use-jade-blocks-not-layouts/

晚了一点晚,但我努力寻找答案最初…在layout.jade

 doctype html html(lang="en") head body h1 Hello World block myblock 

然后在index.jade中

 extends layout block myblock p Jade is cool 

将呈现

 <!DOCTYPE html> <html lang="en"> <head> <body> <h1>Hello World</h1> <p>Jade is cool</p> </body> </html> 

我知道一种方法给了我最好的结果,即使有angular度(替代angular度路由/ ng视图)

首先将需要安装快速布局:

 npm install --save express-layout 

之后,express会在您的views /文件夹中searchlayout.jade文件。 所以,在里面你可以使用:

意见/ layout.jade

 html head meta(charset='utf-8') title= title body div!= body 

意见/ home.jade

 h1 Welcome aboard, matey! 

server.js

 var express = require('express'), layout = require('express-layout'); var app = express(); app.get('/', function(req, res) { res.render('home', { title: 'Welcome!' }); 

默认情况下,express会在您的views /文件夹中searchlayout.jade,但是您可以通过使用(是的,不需要编写.jade扩展名)来更改默认值:

 app.set('layout', 'default'); 

之后,express将使用views / default.jade作为默认布局。

另外,如果您想在特定页面中使用不同的布局,则可以使用:

 app.get('/', function(req, res) { res.render('home', { layout: 'login', title: 'Welcome!' }); 

这里express将呈现login.jade作为布局。

我想你是使用Jade作为默认视图引擎,并且不要更改视图的默认文件夹。

这是快速布局文档 。