Используя mustache.js вместе с node.js? - PullRequest
14 голосов
/ 18 декабря 2011

После того, как я полюбил шаблонный стиль mustache.js, я бы хотел продолжить использовать его в node.js.

Мне удалось установить его и подтвердить, что он работает, но я просто не могу понять, как использовать его для создания файлов шаблонов.

Как мне загрузить шаблон с именем template.html и применить к нему магию усов в node.js?

Ответы [ 2 ]

16 голосов
/ 26 февраля 2012

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... 
});
5 голосов
/ 19 декабря 2011

В итоге я создал крошечную вспомогательную функцию для загрузки файла шаблона в виде строки;

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