express-handlebars
ハンドルバーを Express のビュー エンジンとして使用できるようにするプラグインである を使用していることに注意することが重要です。したがって、取得するオブジェクトはインスタンスrequire('express-handlebars')
ではありません。Handlebars
幸いなことに、引き続きヘルパーを設定できます。モジュールのドキュメントには例があります:
var hbs = exphbs.create({
// Specify helpers which are only registered on this instance.
helpers: {
foo: function () { return 'FOO!'; },
bar: function () { return 'BAR!'; }
}
});
app.engine('handlebars', hbs.engine);
app.set('view engine', 'handlebars');
また、ヘルパーをすべて 1 か所ではなく別のファイルで定義したい場合 (私ならそうします):
var hbs = exphbs.create({
// Specify helpers which are only registered on this instance.
helpers: {
foo: require('./helpers/foo'),
bar: require('./helpers/bar')
}
});
foo.js:
module.exports = function () { return 'FOO!'; }