如何在Express.js布局中使用partials?

时间:2013-07-23 18:39:39

标签: node.js express

我有一个layout.ejs文件,其中包含我网站的基本样板HTML标记:doctype声明,head,body,footer,basics ......

我如何将导航放在单独的部分文件中并将其包含在此布局中?这样做是否有特定的require()或include()函数?

我正在使用EJS视图引擎。

3 个答案:

答案 0 :(得分:7)

<% include path/to/template %>

此处的文档。 https://github.com/visionmedia/ejs#includes

答案 1 :(得分:6)

我遇到了与车把模板类似的问题,使用了expressjs 4.0

在我的app.js中:

var hbs = require('hbs');

// register path to partials
hbs.registerPartials(__dirname + '/views/partials');

然后将部分文件添加到partials目录:

/views/partials/nav.hbs

然后你可以在例如index.hbs中调用它,如:

<!DOCTYPE html>
<html>
  <head>
    ...
  </head>

  <body>
    {{> nav}}
    ...
  </body>
</html>

答案 2 :(得分:0)

var hbs = require('express-handlebars');
// view engine setup
app.set('view engine', 'hbs');

app.engine( 'hbs', hbs( {
  extname: 'hbs',
  defaultView: 'default',
  layoutsDir: __dirname + '/views/layouts/',
  partialsDir: __dirname + '/views/partials/'
}));

请参阅:page templates