使用mustache.js和node.js?

时间:2011-12-18 14:41:59

标签: node.js mustache

在使用mustache.js模板样式后,我想继续在node.js中使用它。

我已经能够安装它并确认它正常工作,但我无法理解如何将它用于模板文件。

如何加载名为template.html的模板并在node.js中对其应用胡子的魔力?

2 个答案:

答案 0 :(得分:15)

fs.readFileSyncfs.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);