把手SWAG图书馆

我是Handlebars中的新手,我正在尝试使用SWAG库进行自定义帮助程序,但未成功。 例如,我尝试显示在我的file.handlebars {{小写“BENDER SHOULD NOT BE BE ALLOWED ON”}} ,我得到错误错误:无法find属性'小写'我跑npm安装赃物

我的app.js是:

var express = require('express') , http = require('http') , routes = require('./routes') , path = require('path') ,Swag = require('swag') , handlebars = require('handlebars'); var app = express(); var engines = require('consolidate'); app.engine('handlebars', engines.handlebars); app.configure(function() { app.set('view engine', 'handlebars'); app.set('views', __dirname + '/views'); app.set('port', process.env.PORT || 3000); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); }); app.get('/dashBoard', routes.getDashboard); http.createServer(app).listen(app.get('port'), function(){ console.log('Express server listening on port ' + app.get('port')); }); 

预先感谢您的帮助

西拉斯

我不是100%肯定的,但我的猜测是consolidate包返回它自己的Handlebars的本地副本。 因此,这不是你所需要的把手,也不是一个用来装赃物的全球把手。

要模式化: require("Handlebars") !== require("consolidate").handlebars

所以,我现在的猜测是,你需要在合并的handlebars实例上注册swags助手。 (在那里,我检查了Swag代码源,我不认为这是可能的ATM)

你可以试试:

Swag.registerHelpers(把手);