Используя mustache.js вместе с node.js?
После того, как вы полюбите стиль шаблона mustache.js, я хотел бы продолжить использовать его в node.js.
Мне удалось установить его и подтвердить, что он работает, но я просто не могу понять, как использовать его в файлах шаблонов.
Как загрузить шаблон с именем template.html
и применить к нему маска усов в node.js?
Ответы
Ответ 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);