Node.js 比较把手的块辅助对象

Node.js 比较把手的块辅助对象,node.js,handlebars.js,Node.js,Handlebars.js,我在代码中使用block helper比较值,但问题是每次运行此代码时,我都会在网页视图中得到此错误消息 我的app.js文件 {{#compare pageCount ">" 1 }} <ul class="pagination"><­/ul> {{#compare currentPage ">" 1 }} <li><a href="/?page=1"> &laquo;</a><

我在代码中使用block helper比较值,但问题是每次运行此代码时,我都会在网页视图中得到此错误消息

我的app.js文件

{{#compare pageCount ">" 1 }}
  <ul class="pagination"><­/ul>
    {{#compare  currentPage ">" 1  }}

       <li><a href="/?page=1"> &laquo;</a></li>
    {{/compare}}

{{/compare}}
const exphbs     = require('express-handlebars');
const hbs = exphbs.create({
  // Specify helpers which are only registered on this instance.
  helpers: {
    foo: function () { return 'FOO!'; },
    extname: ".hbs",
    compare: function(lvalue, rvalue, options) {

      if (arguments.length < 3)
        throw new Error("Handlerbars Helper 'compare' needs 2 parameters");

      var operator = options.hash.operator || "==";

      var operators = {
        '==':       function(l,r) { return l == r; },
        '===':      function(l,r) { return l === r; },
        '!=':       function(l,r) { return l != r; },
        '<':        function(l,r) { return l < r; },
        '>':        function(l,r) { return l > r; },
        '<=':       function(l,r) { return l <= r; },
        '>=':       function(l,r) { return l >= r; },
        'typeof':   function(l,r) { return typeof l == r; }
      }

      if (!operators[operator])
        throw new Error("Handlerbars Helper 'compare' doesn't know the operator "+operator);

      var result = operators[operator](lvalue,rvalue);

      if( result ) {
        return options.fn(this);
      } else {
        return options.inverse(this);
      }

    }

  }
});


//For Handlebars
app.set('views', './app/views')
app.engine('.hbs', exphbs({extname: '.hbs'}));
app.set('view engine', '.hbs');
const exphbs=require('express-handlebar');
const hbs=exphbs.create({
//指定仅在此实例上注册的帮助程序。
助手:{
foo:function(){return'foo!';},
extname:“.hbs”,
比较:函数(左值、右值、选项){
如果(参数长度<3)
抛出新错误(“Handlerbars助手“比较”需要2个参数”);
var operator=options.hash.operator | |“==”;
var运算符={
“==”:函数(l,r){返回l==r;},
“==”:函数(l,r){返回l==r;},
“!=”:函数(l,r){返回l!=r;},
'':函数(l,r){返回l>r;},
'=':函数(l,r){返回l>=r;},
'typeof':函数(l,r){返回typeof l==r;}
}
如果(!运算符[运算符])
抛出新错误(“Handlerbars助手‘比较’不知道运算符”+运算符);
var结果=运算符[运算符](左值,右值);
如果(结果){
返回选项。fn(本);
}否则{
返回选项。反向(此);
}
}
}
});
//车把
应用程序集('视图','./应用程序/视图')
app.engine('.hbs',exphbs({extname:'.hbs'}));
app.set('查看引擎','.hbs');

哪里错了?

您在
app.js
文件中有一个小错误

const exphbs     = require('express-handlebars');
const hbs = exphbs.create({
//...
});

//For Handlebars
app.set('views', './app/views');
app.engine('.hbs', hbs.engine); // <===== Use `hbs.engine`
app.set('view engine', '.hbs');
const exphbs=require('express-handlebar');
const hbs=exphbs.create({
//...
});
//车把
应用程序集('视图','./应用程序/视图');
附件发动机('hbs',hbs发动机)//
const exphbs     = require('express-handlebars');
const hbs = exphbs.create({
  // Specify helpers which are only registered on this instance.
  helpers: {
    foo: function () { return 'FOO!'; },
    extname: ".hbs",
    compare: function(lvalue, rvalue, options) {

      if (arguments.length < 3)
        throw new Error("Handlerbars Helper 'compare' needs 2 parameters");

      var operator = options.hash.operator || "==";

      var operators = {
        '==':       function(l,r) { return l == r; },
        '===':      function(l,r) { return l === r; },
        '!=':       function(l,r) { return l != r; },
        '<':        function(l,r) { return l < r; },
        '>':        function(l,r) { return l > r; },
        '<=':       function(l,r) { return l <= r; },
        '>=':       function(l,r) { return l >= r; },
        'typeof':   function(l,r) { return typeof l == r; }
      }

      if (!operators[operator])
        throw new Error("Handlerbars Helper 'compare' doesn't know the operator "+operator);

      var result = operators[operator](lvalue,rvalue);

      if( result ) {
        return options.fn(this);
      } else {
        return options.inverse(this);
      }

    }

  }
});


//For Handlebars
app.set('views', './app/views')
app.engine('.hbs', exphbs({extname: '.hbs'}));
app.set('view engine', '.hbs');
const exphbs     = require('express-handlebars');
const hbs = exphbs.create({
//...
});

//For Handlebars
app.set('views', './app/views');
app.engine('.hbs', hbs.engine); // <===== Use `hbs.engine`
app.set('view engine', '.hbs');