我使用的把手與節點,並且工作正常:如何註冊和使用Handlebars助手和Node?
require('handlebars');
var template = require('./templates/test-template.handlebars');
var markup = template({ 'some': 'data' });
console.log(markup);
這工作正常。但是,我需要在我的模板中註冊並使用自定義助手。所以,現在我的代碼看起來是這樣的:
var Handlebars = require('handlebars');
Handlebars.registerHelper('ifEqual', function(attribute, value) {
if (attribute == value) {
return options.fn(this);
}
else {
return options.inverse(this);
}
});
var template = require('./templates/test-template.handlebars');
var markup = template({ 'some': 'data' });
console.log(markup);
但現在當我運行我的腳本,我得到
Error: Missing helper: 'ifEqual'
所以:我怎麼能定義和節點使用自定義的助手?
請問您能詳細介紹一下嗎? 'module.exports.something = function(){ ... template = Handlebars.templates ['template_name_here']; ... };' 你的意思是出口。什麼? – peterkr
module.exports.something只是需要使用我定義的Handlebars模板的CommonJS模塊的一個功能。 –