我有一个非常简单的把手助手文件helpers/handlebars.js:
var hbs = require('express-handlebars');
hbs.registerHelper("inc", function(value, options) {
return parseInt(value) + 1;
});
Run Code Online (Sandbox Code Playgroud)
但是,正如预期的那样,我不能引用{{#inc}}帮助器,因为我没有将它传递给res.render()函数.有没有办法让我的文件中的所有助手全局并"自动包含"?
编辑:
在尝试了@ 1cgonza的精彩答案后,我得到:
hbs.registerHelper("inc", function(value, options) {
^
TypeError: undefined is not a function
Run Code Online (Sandbox Code Playgroud)
运行应用程序时.这是app.js:
var engine = require('express-handlebars');
require('./helpers/handlebars.js')(engine);
app.engine('hbs', engine({defaultLayout: 'layout', extname: 'hbs'}));
app.set('view engine', 'hbs');
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?