我尝试使用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}}它可以正常工作(但它不是很漂亮!)
答案 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
字符串的开头和结尾处使用和不使用空格来查看我的意思。