2011-12-18 3 views
13

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

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

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

ответ

15

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

Спасибо за ваш ответ. Не заметил, что это было синхронно, но это сработало. Добро пожаловать в SO BTW :) – Industrial

+0

Awesome :) Пример - это лишь один из способов включения шаблонов усов; есть, вероятно, другие/лучшие способы –

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); 
Смежные вопросы