【发布时间】:2016-12-05 20:57:47
【问题描述】:
我正在尝试使用express-handlebars 和partials,但我收到以下错误消息
找不到部分标头。
我的app.js 代码如下所示。
var express = require('express');
var exphbs = require('express-handlebars');
var app = express();
app.engine('handlebars', exphbs({defaultLayout: 'main'}));
app.set('view engine', 'hbs');
app.get('/', function (req, res) {
res.render('home');
});
app.listen(3000);
一切正常,express 应用程序正在 localhost:3000 上运行。
我的文件夹结构如下:
|_app.js
|_views_
|_home.hbs
|_layouts_
|_main.hbs
|_partials_
|_header.hbs
main.hbs
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Example App</title>
</head>
<body>
{{{body}}}
</body>
</html>
header.hbs
<nav>
<a href="/">Home</a>
<a href="/contact">Contact</a>
</nav>
home.hbs
{{> header}}
<h1>Hey world!</h1>
在我尝试将 header.hbs 作为部分引入之前,一切都按预期进行。
任何人都可以看到我的代码有任何问题吗?
经过进一步调查,我也尝试了这个,但没有任何成功:
// Create `ExpressHandlebars` instance with a default layout.
var hbs = exphbs.create({
// Uses multiple partials dirs, templates in "shared/templates/" are shared
// with the client-side of the app (see below).
partialsDir: [
'views/partials/'
]
});
// Register `hbs` as our view engine using its bound `engine()` function.
app.engine('hbs', hbs.engine);
app.set('view engine', 'hbs');
【问题讨论】:
标签: javascript node.js express handlebars.js