# app.js
app.set('view engine', 'hbs');
# ./views/layout.hbs
{{> nav}}
# ./views/nav.hbs
<a href="#">home</a>
layout.hbs文件找不到我的部分nav.hbs
我在节点app.js控制台上收到以下错误:
抛出新的Handlebars.Exception(“部分”+名称+“不能成为 ^
答案 0 :(得分:2)
您需要先注册要使用的部分“nav”。我发现Express.js hbs module - register partials from .hbs file的答案对我很有用。要点是:
var template = fs.readFileSync(partialsDir + '/' + filename, 'utf8');
hbs.registerPartial(name, template)
答案 1 :(得分:0)
你的问题是你正在使用快速3.x,这显着改变了它在2.x中完成它的处理模板的方式。特别是,2.x对部分模板如何适应整体布局做了一系列假设,而3.x则将其留给了布局引擎本身。但是ejs将继续在快递3.x下具有相同的行为。
注意:将我的评论转化为答案,因为它是针对您的问题的