相关疑难解决方法(0)

如何使把手帮助全局(在expressjs)

我有一个非常简单的把手助手文件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)

有任何想法吗?

javascript helper express handlebars.js

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

express ×1

handlebars.js ×1

helper ×1

javascript ×1