1

私は今までにモニターに向かって叫び、これを理解するために何時間も費やしてきたことを約束できます. まず、単純な比較機能を実行できないハンドルバーのようなテンプレート エンジンを使用するという概念が理解できません。

いかなる場合でも。ここでわかるように、個々のルートに追加するとうまく機能するこのヘルパー関数があります。ただし、エクスプレスで作成したapp.jsファイルにグローバル関数として追加したいと思っています。ヘルパー関数の GitHub の例が機能しないことをお約束します。

どんな助けでも本当に感謝します。

私のindex.jsファイル。

/* GET home page. */
 router.get('/', function(req, res, next) {
 Coupon.find(function(err, docs)
 {

  res.render('main/index', { 

    title: 'Coupon Site new for all', 
    coupons: docs,

    //helpers
     helpers: {
         eq: function (v1, v2) {
             return v1 === v2;
         },
         ne: function (v1, v2) {
             return v1 !== v2;
         },
         lt: function (v1, v2) {
             return v1 < v2;
         },
         gt: function (v1, v2) {
             return v1 > v2;
         },
         lte: function (v1, v2) {
             return v1 <= v2;
         },
         gte: function (v1, v2) {
             return v1 >= v2;
         },
         and: function (v1, v2) {
             return v1 && v2;
         },
         or: function (v1, v2) {
             return v1 || v2;
         }
       },
     });   

   });

});

app.js では、どうやらこのようなことができるはずです。ドキュメントにないものは、 index.jshbsに変数を何らかの方法でインポートする必要があると考えています

var hbs = exphbs.create({
    // Specify helpers which are only registered on this instance.
    helpers: {
       foo: function () { return 'FOO!'; },
    bar: function () { return 'BAR!'; }
  }
 });
4

1 に答える 1