我有一个layout.ejs文件,其中包含我网站的基本样板HTML标记:doctype声明,head,body,footer,basics ......
我如何将导航放在单独的部分文件中并将其包含在此布局中?这样做是否有特定的require()或include()函数?
我正在使用EJS视图引擎。
答案 0 :(得分:7)
答案 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