把手SWAG库

时间:2013-05-04 08:57:28

标签: node.js handlebars.js

我是Handlebars的新手,我正在尝试将SWAG库用于自定义帮助程序但不成功。 例如,我尝试显示在我的file.handlebars {{lowercase“BENDER不应允许在电视上”}} ,我收到错误错误:找不到属性'小写'< / EM> 我跑 npm install swag

我的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'));
});

提前感谢您的帮助

阿尔库迪亚

2 个答案:

答案 0 :(得分:0)

我不是百分百肯定,但我的猜测是consolidate包返回它自己的Handlebars的语言环境副本。因此,它不是您需要的把手,而且它不是应用赃物的全球把手。

示意图:require("Handlebars") !== require("consolidate").handlebars

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

答案 1 :(得分:0)

您可以尝试:

  

Swag.registerHelpers(把手);