gpt4 book ai didi

node.js - Handlebars registerHelper错误: registerHelper is not a function

转载 作者:太空宇宙 更新时间:2023-11-04 03:30:37 26 4
gpt4 key购买 nike

当我尝试在 node.js 文件中注册 Handlebars 助手时,收到错误消息:

exphbs.registerHelper("hlp", function(num) { TypeError: exphbs.registerHelper is not a function

代码:

    exphbs.registerHelper("hlp", function(num) {
num = num.toString();
return "(" + num + ") ";
});

最佳答案

需要注意的是,您正在使用 express-handlebars,这是一个允许在 Express 中使用 Handlebars 作为 View 引擎的插件。因此,您从 require('express-handlebars') 获取的对象将不是 Handlebars 实例。

好消息是您仍然可以设置助手。该模块的文档有 an example :

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

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

如果你想在单独的文件中定义你的助手而不是全部在一个地方(我会):

var hbs = exphbs.create({
// Specify helpers which are only registered on this instance.
helpers: {
foo: require('./helpers/foo'),
bar: require('./helpers/bar')
}
});

foo.js:

module.exports = function () { return 'FOO!'; }

关于node.js - Handlebars registerHelper错误: registerHelper is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38488939/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com