5

私は2日前の時点でノードとハンドルバーにまったく慣れていないので、ご容赦ください。カスタム ハンドルバー ヘルパーを使用しようとしていますが、どこに配置すればよいか完全にはわかりません。

「TypeError:Handlebars.registerHelperは関数ではありません」というメッセージが表示され続けます

現在、server.js ファイルに含まれています。これが正しいかどうかはわかりません。

var express  = require('express');
var app      = express();
var Handlebars  = require('express-handlebars');


app.engine('handlebars', Handlebars({
    defaultLayout: 'main'
}));

app.set('view engine', 'handlebars');

Handlebars.registerHelper("if", function(conditional, options) {
  if (options.hash.desired === options.hash.type) {
    options.fn(this);
  } else {
    options.inverse(this);
  }
});
4

5 に答える 5

7

ここにあるドキュメントによると、このように使用する必要があるようです: https://github.com/ercf/express-handlebars

var hbs = Handlebars.create({
  // Specify helpers which are only registered on this instance.
  helpers: {
    foo: function () { return 'FOO!'; },
    bar: function () { return 'BAR!'; }
  }
});
于 2015-11-29T03:46:37.793 に答える