Javascript 节点js express hbs中的Registerhelper
我想在node js express把手中添加两个数字。所以我发现我可以像这样注册助手Javascript 节点js express hbs中的Registerhelper,javascript,node.js,handlebars.js,Javascript,Node.js,Handlebars.js,我想在node js express把手中添加两个数字。所以我发现我可以像这样注册助手 hbs.registerHelper('addTwoNum', function(num1, num2) { return num1+num2; }); 但是我不知道hbs在哪里注册这个助手。 注意,我使用的是NodeJSExpress 当我尝试这种方法时 app.engine('hbs', handlebars({ defaultLayout: 'mainlayout', helpers: {
hbs.registerHelper('addTwoNum', function(num1, num2) {
return num1+num2;
});
但是我不知道hbs在哪里注册这个助手。
注意,我使用的是NodeJSExpress
当我尝试这种方法时
app.engine('hbs', handlebars({
defaultLayout: 'mainlayout',
helpers: {
getTotal: function (num1, num2){
return num1+num2;
}
}
}));
它显示了错误
app.engine('hbs', handlebars({
^
TypeError: handlebars is not a function
at Object.<anonymous> (/home/adhil/mamans-store/app.js:27:19)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/home/adhil/mamans-store/bin/www:7:11)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
app.engine('hbs',把手({
^
类型错误:车把不是一个功能
在对象上。(/home/adhil/mamans store/app.js:27:19)
at模块编译(内部/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:789:10)
at Module.load(内部/modules/cjs/loader.js:653:32)
在tryModuleLoad(内部/modules/cjs/loader.js:593:12)
at Function.Module._load(内部/modules/cjs/loader.js:585:3)
at Module.require(内部/modules/cjs/loader.js:692:17)
根据需要(内部/modules/cjs/helpers.js:25:18)
在物体上。(/home/adhil/mamans store/bin/www:7:11)
at模块编译(内部/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:789:10)
at Module.load(内部/modules/cjs/loader.js:653:32)
在tryModuleLoad(内部/modules/cjs/loader.js:593:12)
at Function.Module._load(内部/modules/cjs/loader.js:585:3)
位于Function.Module.runMain(internal/modules/cjs/loader.js:831:12)
启动时(内部/bootstrap/node.js:283:19)
在bootstrapNodeJSCore(internal/bootstrap/node.js:623:3)
var express=require('express');
var exphbs=require('express-handlebar');
var-app=express();
发动机附件(“把手”,exphbs());
应用程序集(“查看引擎”、“把手”);
如果你得到这个错误
Error: Failed to lookup view "error" in views directory "/home/adhil/mamans-store/views"
at Function.render (/home/adhil/mamans-store/node_modules/express/lib/application.js:580:17)
at ServerResponse.render (/home/adhil/mamans-store/node_modules/express/lib/response.js:1008:7)
at /home/adhil/mamans-store/app.js:80:7
at Layer.handle_error (/home/adhil/mamans-store/node_modules/express/lib/router/layer.js:71:5)
at trim_prefix (/home/adhil/mamans-store/node_modules/express/lib/router/index.js:315:13)
at /home/adhil/mamans-store/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/home/adhil/mamans-store/node_modules/express/lib/router/index.js:335:12)
at next (/home/adhil/mamans-store/node_modules/express/lib/router/index.js:275:10)
at Layer.handle_error (/home/adhil/mamans-store/node_modules/express/lib/router/layer.js:67:12)
at trim_prefix (/home/adhil/mamans-store/node_modules/express/lib/router/index.js:315:13)
at /home/adhil/mamans-store/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/home/adhil/mamans-store/node_modules/express/lib/router/index.js:335:12)
at next (/home/adhil/mamans-store/node_modules/express/lib/router/index.js:275:10)
at /home/adhil/mamans-store/node_modules/express/lib/router/index.js:635:15
at IncomingMessage.next (/home/adhil/mamans-store/node_modules/express/lib/router/index.js:260:14)
at done (/home/adhil/mamans-store/node_modules/express/lib/response.js:1003:25)
at Function.render (/home/adhil/mamans-store/node_modules/express/lib/application.js:582:14)
at ServerResponse.render (/home/adhil/mamans-store/node_modules/express/lib/response.js:1008:7)
at PRODUCT_HELPER.getCategorisedProducts (/home/adhil/mamans-store/routes/user.js:17:17)
at Object.getCategorisedProducts (/home/adhil/mamans-store/helpers/PRODUCT_HELPER.js:247:9)
at PRODUCT_HELPER.getAllCarouselItems (/home/adhil/mamans-store/routes/user.js:16:24)
at Object.getAllCarouselItems (/home/adhil/mamans-store/helpers/PRODUCT_HELPER.js:219:9)
将“error.hbs”文件重命名为“error.handlebar”
这意味着您必须将所有“example.hbs”文件重命名为“example.handlebar”