使用mustache.js和node.js?

Ind*_*ial 14 node.js mustache

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

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

如何template.html在node.js中加载一个被调用的模板并将胡子的魔法应用到它?

dif*_*sky 16

fs.readFileSync是同步版本fs.readFile,因此它将被阻止.这是一个如何使用fs.readFilemustache.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... 
});
Run Code Online (Sandbox Code Playgroud)


Ind*_*ial 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);
Run Code Online (Sandbox Code Playgroud)