gpt4 book ai didi

javascript - Node.js 中的 Handlebars + Handlebars -helper-prettify : empty result

转载 作者:太空宇宙 更新时间:2023-11-04 02:33:59 25 4
gpt4 key购买 nike

我尝试将 Handlebars 与prettify helper一起使用使用以下代码:

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}} 它可以工作(但打印不漂亮!)

最佳答案

这个助手是为了在汇编中使用而构建的,因此需要调用一个 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);

这应该有效。请注意,prettify 返回一个 Handlebars.SafeString(),因此 transformedHtml 将是一个 javascript 对象,除非您在 prettify 标记之外添加更多标记。您将通过在 templateHtml 字符串的开头和结尾处使用空格和不使用空格来运行它,从而明白我的意思。

关于javascript - Node.js 中的 Handlebars + Handlebars -helper-prettify : empty result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24152877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com