2015-02-04 4 views
3

Есть ли протокол для загрузки предварительно скомпилированных шаблонов с использованием модуля NPM handlebars.js или один должен предоставить свою собственную функцию «getTemplate» для загрузки определенного шаблона?Загрузка предварительно скомпилированных шаблонов Handlebar в стороне узла узла JS

После сбоя не удается прочитать свойство «привет» неопределенного.

var compiledTemplate = handlebars.templates['hello']; 

"hello.handlebars" - это имя файла шаблона.

тогда как этот работает отлично.

var template = fs.readFileSync(“./hello.html", "utf8"); 
var uncompiledTemplate = handlebars.compile(template); 
var data = {message : "Hello world!"}; 
var finalPageHTML = uncompiledTemplate(data); 

Так что мне нужно сделать, так что я могу просто выполнить

compiledTemplate(data) 

и получить свой окончательный HTML simmilar к неоткомпилированной версии?

Спасибо.

ответ

0

Я нашел решение, которое работает для меня. У меня есть шаблон в моем каталоге шаблонов, называемых list.handlebars:

<ul> 
    <li>{{title}}</li> 
</ul> 

Затем я запускаю эту команду:

handlebars -c handlebars templates -f dist/templates.js && echo module.exports = templates; >> dist/templates.js 

флаг дописывает '-c' Рули требуют ("рули"); к выходу.

Затем в моем коде сервера, я использую:

var template = require('./dist/templates'); 
console.log(template['list']({title: 'winner'})); 
Смежные вопросы