Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 把手registerHelper错误:registerHelper不是函数_Node.js_Handlebars.js_Registerhelper - Fatal编程技术网

Node.js 把手registerHelper错误:registerHelper不是函数

Node.js 把手registerHelper错误:registerHelper不是函数,node.js,handlebars.js,registerhelper,Node.js,Handlebars.js,Registerhelper,当我尝试在node.js文件中注册handlebar helper时,会收到错误消息: exphbs.registerHelper(“hlp”,函数(num){TypeError: exphbs.registerHelper不是函数 代码: exphbs.registerHelper("hlp", function(num) { num = num.toString(); return "(" + num + ") "; }); 需要注意的是,您正在使用

当我尝试在node.js文件中注册handlebar helper时,会收到错误消息:

exphbs.registerHelper(“hlp”,函数(num){TypeError: exphbs.registerHelper不是函数

代码:

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

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

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

如果您想在单独的文件中定义助手,而不是在一个地方定义所有助手(我会):

foo.js:

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

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

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

如果您想在单独的文件中定义助手,而不是在一个地方定义所有助手(我会):

foo.js:

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

您可以向我们展示您在车把库中的需求方式吗?
typeof require('handlebar')。registerHelper
返回
function
for me.var exphbs=require('express-handlebar');您可以向我们展示您在车把库中的需求方式吗?
typeof require('handlebar')).registerHelper
为me返回
函数
。var exphbs=require('express-handlebar'));非常感谢,我明白了。我应该在这里定义项目中使用的所有助手吗?或者我可以在不同的js文件中分别定义我的助手?你可以在不同的文件中定义它们并导入它们。更新了我的答案。签名,npm。我显然使用的是express hbs而不是express Handlebar(对所有这些都是陌生的,没有注意到有很多这样的东西).express hbs默默地忽略了它不理解的选项,比如“helpers:”@Marvin好极了:D好消息-你仍然可以注册helpers,但我想你现在知道了!@TomJardine McNamara当然,我明白了,但我之所以关注这篇文章,是因为我遇到了一些问题,我不知道partials在哪里加载,helpers在哪里“未找到,因此我认为在实例化引擎的“同一”(希望在之前)时间注册帮助程序会有所帮助。这与调用express-hbs.registerHelper不同。在express-hbs中加载部分可能有问题,但这不是我的问题,因为我这样做了(抱歉:-))切换到express Handlebar,我的问题就消失了。非常感谢,我明白了重点。我应该在这里定义项目中使用的所有助手吗?或者我可以在不同的js文件中分别定义我的助手吗?你可以在不同的文件中定义它们并导入它们。更新了我的答案。签名,npm。我显然在使用express hbs not express车把(所有这些都是新的,没有注意到有很多这样的东西).express hbs默默地忽略了它不理解的选项,比如“helpers:”@Marvin好极了:D好消息-你仍然可以注册helpers,但我想你现在知道了!@TomJardine McNamara当然,我明白了,但我之所以关注这篇文章,是因为我遇到了一些问题,我不知道partials在哪里加载,helpers在哪里“找不到,所以我认为在实例化引擎的“同一时间”(希望在之前)注册助手会有所帮助。与调用express-hbs.registerHelper不同。在express-hbs中加载partials可能会有问题,但这不是我的问题,因为我(抱歉:-)切换到express Handlebar,我的问题就消失了。
module.exports = function () { return 'FOO!'; }