5

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

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

我正在使用 EJS 视图引擎。

4

3 回答 3

8

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

在我的 app.js 中:

var hbs = require('hbs');

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

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

/views/partials/nav.hbs

然后你可以像这样在 index.hbs 中调用它:

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

  <body>
    {{> nav}}
    ...
  </body>
</html>
于 2015-01-05T07:42:39.070 回答
7

是的。

<% include path/to/template %>

文档在这里。https://github.com/visionmedia/ejs#includes

于 2013-07-23T18:46:30.280 回答
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/'
}));

请参阅:页面模板

于 2020-06-08T06:05:00.987 回答