首页 > 解决方案 > 在 app.js 文件中注册 Helpers 时有什么遗漏吗?

问题描述

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
var expressHbs =  require('express-handlebars');

    var hbsss = expressHbs.create({
    
      helpers: {
        sum: function (num) {
          return (num+90);
        }
        }
    });
    
    app.engine('handlebars', hbsss.engine);
    app.set('view engine', 'hbs');

我正在尝试在 .hbs 页面之一中调用 sum 函数,如下所示:

<td>sum = {{sum 10}}</td>

但是我收到错误把手缺少助手!PS 我所有的车把页面都.hbs没有使用扩展名.handlebars。所以我在这里使用 hbs 而不是 `app.set('view engine', 'hbs'); 中的把手

这有什么不同吗?

也有必要在 create{()} 方法中包含以下代码行吗?

  defaultLayout: 'status',
  layoutsDir: path.join(__dirname, 'views'),

什么时候使用这些线?让我知道我需要做哪些更改或添加或查看以解决此错误?

标签: node.jshandlebars.jshelperexpress-handlebars

解决方案


推荐阅读