2012-02-03 14 views
7

मैं कमांड के साथ हैंडलबर्स.जेएस टेम्पलेट app/views/templates/walrus.handlebar प्रीकंपाइल करने की कोशिश कर रहा हूं लेकिन यह विफल रहता है क्योंकि टेम्पलेट एक कस्टम सहायक का उपयोग करता है जिसे मैंने एक अलग जेएस फ़ाइल public/javascripts/handlebar_helpers.js में परिभाषित किया है।यदि आप Handlebars.js में कस्टम सहायक का प्रीकंपलिंग कर रहे हैं तो आप एक कस्टम सहायक कैसे पंजीकृत करते हैं?

मैं हैंडलबार्स के कमांड लाइन संस्करण को कैसे कॉल करूं ताकि यह कस्टम सहायक के साथ जावास्क्रिप्ट फ़ाइल से अवगत हो?

+0

क्या आपको कभी यह पता चला कि यह कैसे किया जाए? – emzero

उत्तर

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

यह यहाँ डॉक्स में है: http://handlebarsjs.com/precompilation.html

संपादित करें मार्च 2014:

डॉक्स पढ़ने मुद्दों कर लोगों के लिए, यहां कस्टम सहायक "पूरा नाम"

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; 
}); 

मैं इस की कोशिश की है पर डाला जा करने की जरूरत है और यह एक आकर्षण की तरह काम करता है!

संबंधित मुद्दे