2012-01-10 7 views
25

मैं सीख रहा हूं Rails 3 एप्लिकेशन जिस पर मैं काम कर रहा हूं। बैकबोन underscore का उपयोग करता है, जिसका मेरा मानना ​​है कि इसका अपना टेम्पलेट इंजन बनाया गया है।Backbone.js के साथ मूंछ का उपयोग करने के पेशेवर/विपक्ष क्या हैं?

मैंने मूंछ के बारे में अच्छी चीजें पढ़ी हैं लेकिन मुझे आश्चर्य हुआ कि क्या मुझे अंडरस्कोर के टेम्पलेट इंजन के बजाय इसका उपयोग करने पर विचार करना चाहिए?

आपके विचार क्या हैं?

धन्यवाद

उत्तर

32

मैं अपने पहले एंटरप्राइज़ स्तर रीढ़ की हड्डी के माध्यम से लगभग आधी हूं। मैं वर्तमान में टेम्पलेट्स में निर्मित अंडरस्कोर का उपयोग कर रहा हूं क्योंकि जब मैंने सीखा था जिस तरह से मैंने अंडरस्कोर के साथ सीखा था .. मुझे जरूरी नहीं कि उनके साथ कोई समस्या हो। सभी templating समाधान बहुत सीधे आगे हैं।

मैंने बाद में कुछ अन्य समाधानों को देखा है और स्विचिंग पर विचार कर रहा हूं, लेकिन केवल इसलिए कि मुझे लगता है कि कुछ अन्य समाधान क्लीनर दिखते हैं। इसके अलावा कुछ समाधानों में थोड़ा अधिक कार्यक्षमता है।

मुझे अपने छोटे वाक्यविन्यास के कारण मूंछ पसंद है। क्लीनर दिखता है। लेकिन अगर मैं स्विच करता हूं तो मुझे लगता है कि मैं हैंडलबार्स.जेएस के साथ जा रहा हूं।

हैंडलबार्स का एक ही छोटा वाक्यविन्यास है, साथ ही कस्टम टेम्पल विधियों और आपके टेम्पलेट के अंदर ऑब्जेक्ट संदर्भ सेटिंग जैसी अन्य सुविधाओं का एक टन है। इसे here देखें। अगर मैं अपने प्रोजेक्ट की शुरुआत में हैंडलबार्स के बारे में जानता था तो शायद मैं निश्चित रूप से इसके लिए कूद गया होता।

मैं दूसरों की उल्लेख के अनुसार एक और निर्भरता जोड़ने के बारे में इतना चिंता नहीं करता। बैकबोन ऐप्स सही तरीके से बिजली को तेजी से चलाएंगे। : डी

यदि आपके कोई अन्य प्रश्न हैं तो मुझे बताएं। मैं वास्तव में रीढ़ की हड्डी का आनंद ले रहा हूं इसलिए मैं टैग की गई पोस्ट देखने की कोशिश कर रहा हूं। परन्तु गंभीरता से। हैंडलबार्स कानूनी दिखता है।

संपादित करें:

मैं भी जोड़ने के लिए है कि हैंडल के लिए दस्तावेज़ अंडरस्कोर से जिस तरह से अधिक कानूनी लग रहा है मतलब ...

+1

+1, अंडरस्कोर दस्तावेज कई अन्य इंजनों से भी बदतर है। 'Handlebars.js' के उल्लेख के लिए – Sander

+3

+1। मैं निश्चित रूप से यह जांच करूँगा! बीटीडब्ल्यू, क्या कोई अन्य कोडर है जो अब हैंडलबार मूंछ विकसित करना चाहते हैं? – cbmeeks

+0

फिर से धन्यवाद। न केवल आपके पास एक अच्छा जवाब था, लेकिन आपने मुझे एक ऐसे विकल्प की ओर इशारा किया जिसकी मैंने कभी नहीं सुना। – cbmeeks

18

सबसे बड़ी चोर मैं के बारे में सोच सकते हैं कि आप कुछ अपने निर्भरता पहले से ही करते हैं अभी तक एक और पुस्तकालय जोड़ रहे है। यदि वाक्यविन्यास आपकी सबसे बड़ी चिंता है तो निम्न स्निपेट अंडरस्कोर को एक समान वाक्यविन्यास का उपयोग करने के लिए बताएगा।

_.templateSettings = { 
    evaluate : /\{\[([\s\S]+?)\]\}/g, 
    interpolate : /\{\{([\s\S]+?)\}\}/g 
}; 
+0

क्या दो इंजनों के बीच कोई अन्य बड़ा अंतर नहीं है? जैसे संरचनात्मक या यहां तक ​​कि कार्यक्षमता 1 की तरह ही पाठ में चर कर सकते हैं, जबकि दूसरा लूपिंग या नेस्टेड टेम्पलेट्स या कुछ भी समर्थन करता है? – Sander

+3

मुख्य अंतर मुझे पता है कि मूंछ भाषा स्वतंत्र वाक्यविन्यास का उपयोग करता है और इसमें कई भाषाओं में कार्यान्वयन होते हैं ताकि आप सामने वाले और बैक-एंड में टेम्पलेट का उपयोग कर सकें। – JaredMcAteer

+2

एक और अंतर यह है कि मूंछ तर्क-कम है जिसके लिए एक से अधिक कठोर रूप से अलग प्रस्तुति और कोड की आवश्यकता होती है। – wprl

3

प्रश्न रेल पूछता है, लेकिन इतना टैग नहीं किया गया; इसलिए एक कॉन मूंछ-जैसे वाक्यविन्यास जैसे डीजेंगो के टेम्पलेट्स का उपयोग करके भाषाओं के साथ संघर्ष करता है।

यदि कोई django टेम्पलेट पहले ब्लॉक को पार करता है, तो यह जेएस लिखने से पहले {{ }} ब्लॉक भरने का प्रयास करेगा।

मैं इस मुद्दे को हल करने के लिए एक verbatim Django टेम्पलेट टैग कि {{}} ब्लॉकों पर ध्यान नहीं देता उपयोग कर रहा हूँ, लेकिन मैं अब काश मैं डिफ़ॉल्ट <%=%> वाक्य रचना का इस्तेमाल किया ताकि मैं स्पष्ट रूप से इन Django टेम्पलेट इंजन में लिखा ब्लॉकों से बचने के लिए नहीं है।

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