在handle.js中的把手+把手 - 助手 - 美化:空结果

时间:2014-06-11 00:22:29

标签: javascript node.js handlebars.js

我尝试使用prettify helper使用以下代码的Handlebars:

var handlebars = require("handlebars");
var helpers = require('prettify');

var templateHtml = "{{#prettify}}<div class='entry'><h1>{{title}}</h1><div class='body'>{{body}}</div></div>{{/prettify}}";
var templater = handlebars.compile(templateHtml);
var transformedHtml = templater({
    title: "Hello World",
    body: "De kat krabt de krullen van de trap"
});
console.log(transformedHtml);

但我得到一个空洞的结果。我在这里错过了什么?如果我删除了{{#prettify}和{{/ prettify}}它可以正常工作(但它不是很漂亮!)

1 个答案:

答案 0 :(得分:0)

这个帮助器是为了在汇编中使用而构建的,因此需要调用register方法才能工作:

var handlebars = require("handlebars");
var helpers = require('prettify');
helpers.register(handlebars);

var templateHtml = "{{#prettify}}<div class='entry'><h1>{{title}}</h1><div class='body'>{{body}}</div></div>{{/prettify}}";
var templater = handlebars.compile(templateHtml);
var transformedHtml = templater({
    title: "Hello World",
    body: "De kat krabt de krullen van de trap"
});
console.log(transformedHtml);

那应该有用。请注意,美化返回Handlebars.SafeString(),因此transformedHtml将是一个javascript对象,除非您在prettify标记之外添加更多标记。你可以在templateHtml字符串的开头和结尾处使用和不使用空格来查看我的意思。