【发布时间】:2016-09-09 00:10:55
【问题描述】:
我正在使用把手从部分编译模板。目前,我有以下 javascript:
var handlebars = require('handlebars'),
fs = require('fs');
var data = {
title: "Print handlebars tempalte",
author: "Internet",
body: "Hi, I am the body"
}
fs.readFile('partial.html', 'utf-8', function(error, source) {
handlebars.registerPartial('example_partial', source);
});
fs.readFile('ignore-keywords.html', 'utf-8', function(error, source) {
var template = handlebars.compile(source);
var html = template(data);
console.log(html)
});
部分如下
<div>
<p>
Hi, I am a partial!
</p>
</div>
模板是
<div class="header">
<h1>{{title}}</h1>
</div>
<div class="body">
<p>{{body}}</p>
</div>
<div class="footer">
<div>
<p>
Written by {{author}}
</p>
</div>
{{> example_partial}}
</div>
正如您在脚本中看到的,我可以使用 console.log 打印最终生成的 html。但是,我希望能够在不填写数据的情况下打印最终模板。像这样:
<div class="header">
<h1>{{title}}</h1>
</div>
<div class="body">
<p>{{body}}</p>
</div>
<div class="footer">
<div>
<p>
Written by {{author}}
</p>
</div>
<div>
<p>
Hi, I am a partial!
</p>
</div>
</div>
我希望能够打印已编译的模板,然后我应该能够将其发送到使用此编译模板的其他来源,用数据填充它,然后生成相应的 HTML。为此,我需要生成上述模板。我将如何实现这一目标?
【问题讨论】:
标签: javascript templates handlebars.js