【问题标题】:express-handlebars helper doesnt display return valueexpress-handlebars 助手不显示返回值
【发布时间】:2019-05-16 13:22:24
【问题描述】:

我尝试将自己的辅助方法注册到 express-handlebars 以在视图和局部视图中使用它。我的目标是在我的导航部分中创建一个搜索功能。但我什至没有让我的助手处理我的索引视图。

我尝试了很多想法..

App.js

const exphbs = require('express-handlebars')
const helpers = require('./public/helper/hbs-helper');
const express = require('express')
const app = express()

const hbs = exphbs.create({
  layoutsDir: path.join(__dirname, 'views/layouts'),
  partialsDir: path.join(__dirname, 'views/partials'),
  helpers: helpers
})

app.enable('trust proxy')
app.engine('handlebars', hbs.engine)
app.engine('.hbs', exphbs({
  extname: '.hbs'
}))
app.set('view engine', 'handlebars')
app.set('views', path.join(__dirname, 'views'))

hbs-helper.js

module.exports = {
  sayHello: function(elem) {
    return 'hello!'
  }
}

index.hbs - 我在这里尝试了所有方法,但不是同时;):

<p>{{sayHello}}</p>
<p>{{#sayHello}}</p>
<p>{{sayHello this}}</p>
  • 第一个给了我一个空的 p-tag
  • 第二个说“错误:在线解析错误...”
  • 第三个说“错误:缺少助手:“sayHello””

在函数定义中加上“elem”也没关系,还是不行。

我还尝试使用 foo 和 bar 助手来实现来自https://github.com/ericf/express-handlebars 的给定示例(不使用 require() 导入它们,我确实这样做了),但它对我不起作用。它从不显示任何返回值。

你们有什么想法吗?

【问题讨论】:

    标签: express express-handlebars handlebarshelper


    【解决方案1】:

    Vivasaayi 的答案对我有用! can't register handlebar helpers 只需使用以下代码

    helpers.js

    let register = function(Handlebars) {
    let helpers = {
    sayHello: function(elem) {
      return 'hello!'
      }
    };
    if (Handlebars && typeof Handlebars.registerHelper === "function") {
      for (let prop in helpers) {
        Handlebars.registerHelper(prop, helpers[prop]);
      }
    } else {
      return helpers;
    }
    };
    module.exports.register = register;
    

    app.js

    const exphbs = require('express-handlebars')
    const hbs = exphbs.create({
      layoutsDir: path.join(__dirname, 'views/layouts'),
      partialsDir: path.join(__dirname, 'views/partials')
    })
    require("./pathto/helper.js").register(hbs.handlebars);
    

    【讨论】:

      猜你喜欢
      • 2015-05-25
      • 1970-01-01
      • 1970-01-01
      • 2015-03-05
      • 2013-12-04
      • 2015-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多