2012-02-03 3 views
7

Я пытаюсь прекомпилировать шаблон Handlebars.js app/views/templates/walrus.handlebar с командой handlebar app/views/templates/walrus.handlebar, но он терпит неудачу, потому что шаблон использует настраиваемый помощник, который я определил в отдельном файле js public/javascripts/handlebar_helpers.js.Как зарегистрировать пользовательский помощник, если вы предварительно скомпилируете пользовательский помощник в Handlebars.js?

Как я могу назвать версию командной строки Handlebars, чтобы она знала файл javascript с помощью специального помощника?

+0

Вы когда-нибудь находили, как это сделать? – emzero

ответ

5
handlebars <input> -f <output> -k <helper> 

Это в документации здесь: http://handlebarsjs.com/precompilation.html

Редактировать март 2014:

Для людей, имеющих проблемы чтения документации, вот пример для пользовательского помощника "FULLNAME"

handlebars myTemplate.handlebars -f handlebars-fullname.js -k fullname 

с этим помощником:

Handlebars.registerHelper('fullname', function(person) { 
    return person.firstName + " " + person.lastName; 
}); 

Вы все еще должны включать помощник на странице с handlebars.runtime.js

+0

@wusher Как выглядел ваш звонок? Я не уверен, как -k используется с пользовательскими помощниками. – surjikal

+0

Это не работает с пользовательскими помощниками – Jaseem

+0

Я ищу ответ на этот вопрос. '-k' работает только с родными помощниками, а не с обычным ... – emzero

0
handlebars myTemplate.handlebars -f handlebars-fullname.js -k fullname 

выше шаг не является обязательной один, ваш шаблон будет работать руль, даже если вы не указать имя помощника во время пре- сборник, однако следующий код (который в основном должен содержать все ваши помощники) должен быть вставлен на стороне клиента

Handlebars.registerHelper('fullname', function(person) { 
    return person.firstName + " " + person.lastName; 
}); 

Я попытался это и он работает как шарм!

Смежные вопросы