2012-02-03 17 views
7

Sto tentando di precompilare un modello Handlebars.js app/views/templates/walrus.handlebar con il comando handlebar app/views/templates/walrus.handlebar ma non riesce perché il modello utilizza un helper personalizzato che ho definito in un file js separato public/javascripts/handlebar_helpers.js.Come si registra un helper personalizzato se si sta precompilando un helper personalizzato in Handlebars.js?

Come si chiama la versione da riga di comando di Handlebars in modo che sia a conoscenza del file javascript con l'helper personalizzato?

+0

Hai mai trovato come si fa? – emzero

risposta

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

E 'nella documentazione qui: http://handlebarsjs.com/precompilation.html

Edit marzo 2014:

Per le persone che hanno problemi di lettura dei documenti, ecco un esempio di aiuto personalizzato "fullname"

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

con questo aiuto:

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

Hai ancora includere l'aiutante nella pagina con il handlebars.runtime.js

+0

@wusher Come è stata la tua chiamata? Non sono sicuro di come -k venga utilizzato con gli helper personalizzati. – surjikal

+0

Non funzionerà con gli helper personalizzati – Jaseem

+0

Sto cercando la risposta a questo. '-k' funziona solo per helper nativi, non personalizzati ... – emzero

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

Il passo di cui sopra non è obbligatoria una, il modello manubrio avrebbe funzionato anche se non specificare il nome di supporto durante il pre- compilazione, tuttavia il seguente codice (che in pratica dovrebbe contenere tutte le aiutanti) deve essere inserito sul lato client

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

ho provato questo e funziona come un fascino!

Problemi correlati