使用Express with Consolidate和Mustache中的布局视图

时间:2012-08-31 05:52:11

标签: node.js express mustache

我刚刚使用Express开始使用Node,最终使Consolidate JS正常工作,根据Consolidate JS Github page上的说明使用Mustache作为模板视图系统。

Mustache正确加载,但我现在想知道如何在模板的渲染中包含布局文件。默认的Jade系统在layout.jade文件中加载.render方法的内容。我只是想知道如何做同样的事,但有胡子。非常感谢任何帮助!

代码:

index.js

 exports.index = function(req, res){
    res.render('index', { title: "Work pl0x?" });
 });

index.mustache      

欢迎来到{{title}}

我只想让index.mustache内容出现在下面代码的“{{content}}”部分(layout.mustache)中。我怎么能这样做?

 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta charset="UTF-8" />
 <title>Project Name | {{title}}</title>
 <link href="/stylesheets/style.css" rel="stylesheet" />
 </head>

 <body>

     {{content}}

 </body>
 </html>

2 个答案:

答案 0 :(得分:3)

获得该行为的一种方式(种类)是:

exports.index = function(req, res){
  res.render('layout', { title: "Work pl0x?", partials: { content: "index" });
});

然后在layout.html

中这样写
<body>
  {{>content}}
</body>

答案 1 :(得分:0)

自3.0起,布局的概念已从快递中删除。这是一个reference link,其中包含更多信息。