node.js - Handlebars SWAG 库

标签 node.js handlebars.js

我是 Handlebars 新手,我正在尝试使用 SWAG 库来实现自定义帮助程序,但没有成功。 例如,我尝试在我的 file.handlebars 中显示 {{lowercase "BENDER SHOULD NOT BE ALLOWED ON TV"}} 并收到错误 Error: Could not find property 'lowercase' 我运行了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'));
});

提前感谢您的帮助

阿尔库迪亚

最佳答案

我不是 100% 确定,但我的猜测是 consolidate 包返回它自己的 Handlebars 区域设置副本。因此,它不是您需要的 Handlebars,也不是应用 swag 的全局 Handlebars。

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

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

关于node.js - Handlebars SWAG 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16372494/

相关文章:

ember.js - 将 ember.js .hbs 模板渲染为字符串

sockets - node.js 套接字异常读取 ETIMEDOUT - 如何正确捕获它?写超时怎么办?

javascript - 带有 Webpanel 的 Discord 机器人?

node.js - 传递到手写笔文件的 Node 应用程序变量

javascript - 使用 Node pg 选择当前值后如何增加 postgres 表列?

javascript - 用 Handlebars 搭建动态 table

javascript - 将 touchstart 事件委托(delegate)给单击处理程序

ember.js - Yeoman 和 Handlebars 模板

javascript - Ember.js 中的 View 与组件

javascript - 如何将 id-aes256-GCM 与 Node.JS 加密一起使用? "TypeError: DecipherFinal fail"