Подтвердить что ты не робот

Используя mustache.js вместе с node.js?

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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