在使用mustache.js模板样式后,我想继续在node.js中使用它。
我已经能够安装它并确认它正常工作,但我无法理解如何将它用于模板文件。
如何加载名为template.html
的模板并在node.js中对其应用胡子的魔力?
答案 0 :(得分:15)
fs.readFileSync
是fs.readFile
的同步版本,因此它会被阻止。这是一个基本的例子,说明如何使用fs.readFile
和mustache.js来返回回调中的胡子模板。
var object_to_render = {key: "value", ...};
fs.readFile(path_to_mustache_template, function (err, data) {
if (err) throw err;
var output = Mustache.render(data.toString(), object_to_render);
// do something with output...
});
答案 1 :(得分:5)
我最终制作了一个小辅助函数来将模板文件作为字符串加载;
function loadTemplate(template) {
return this.fs.readFileSync(app.set('views') + template+ '.html').toString();
}
var html = Mustache.to_html(loadTemplate('myView'), {key: "value", ...});
res.send(html);