我有一个 layout.ejs 文件,其中包含我网站的基本样板 HTML 标记:doctype 声明、head、body、footer、基础知识......
我将如何将导航放置在单独的部分文件中并将其包含在此布局中?是否有特定的 require() 或 include() 函数来执行此操作?
我正在使用 EJS 视图引擎。
我在使用 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>
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/'
}));
请参阅:页面模板