Node.js 在app.js文件中注册助手时,我是否遗漏了什么?

Node.js 在app.js文件中注册助手时,我是否遗漏了什么?,node.js,handlebars.js,helper,express-handlebars,Node.js,Handlebars.js,Helper,Express Handlebars,我正在尝试调用.hbs页面之一中的sum函数,如下所示: 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

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

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
vs
把手是否重要。最简单的方法是尝试:)即将
app.set('view engine','hbs')
更改为
app.set('view engine','handlebar')
,并将文件扩展名从
.hbs
更改为
.handlebar
。一般来说,坚持文档中的操作方式是很好的,对于查看引擎和文件扩展名,使用把手。如果你没有很好地理解它,那么即使你现在还没有经历过,偏离这个方向也会导致意想不到的问题。虽然从长远来看,我建议尝试深入了解它的工作原理。另外,确保
app
在范围之内。例如,您在
app.engine
上方有
app=express()
,或者正在
import
ing
app
这样,如果您在
app.engine
app.set
行之前有
console.log(app)
,它会给您期望的东西。@Adam感谢您的输入!我尝试并更改了所有文件的扩展名为hbs的Handlebar。现在我得到了这个错误:错误:eNote:没有这样的文件或目录,打开“C:\Users\Sulekha Yadav\Desktop\grumpytext\views\layouts\main.handlebars”你能解释一下这有什么用吗?mainLayout文件夹中应该有main.handlebars文件吗?defaultLayout:'status',layoutsDir:path.join(\uu dirname,'views'),
<td>sum = {{sum 10}}</td>
  defaultLayout: 'status',
  layoutsDir: path.join(__dirname, 'views'),