在成为mustache.js模板样式后,我想继续在node.js中使用它。使用mustache.js和node.js?
我已经能够安装它并确认它正在工作,但我无法弄清楚如何使用它来模板文件。
如何加载一个名为template.html
的模板并在node.js中应用胡子的魔法?
在成为mustache.js模板样式后,我想继续在node.js中使用它。使用mustache.js和node.js?
我已经能够安装它并确认它正在工作,但我无法弄清楚如何使用它来模板文件。
如何加载一个名为template.html
的模板并在node.js中应用胡子的魔法?
fs.readFileSync
是fs.readFile
同步版本,所以它会被阻塞。下面是一个基本示例,说明如何使用带有mustache.js的fs.readFile
这将返回回调中的胡须模板。
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...
});
我结束了一个小小的帮助函数,将模板文件作为字符串加载;
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);
感谢您的回答。没有注意到它是同步的,但它完成了这项工作。欢迎来到SO BTW :) – Industrial 2012-02-25 22:42:12
真棒:)这个例子只是我一直包括胡子模板的方式之一;可能还有其他更好的方法 – 2012-02-27 18:48:54