2013-01-04 8 views
5

में टेम्पलेटिंग मैं क्लोजरस्क्रिप्ट का उपयोग "एकल पृष्ठ" शैली वेब ऐप बनाने के लिए करना चाहता हूं। इसके लिए, मुझे क्लाइंट-साइड टेम्पलेटिंग सिस्टम की आवश्यकता है। क्या किसी के पास कोई अनुभव और/या सिफारिशें हैं जिन पर क्लोजरस्क्रिप्ट टेम्पलेटिंग सिस्टम मुझे देखना चाहिए? धन्यवाद।क्लोजरस्क्रिप्ट

उत्तर

3

मुझे उपयोगी होने के लिए crate मिला है।

5

आप dommy पर एक नज़र डालेंगे, प्रिज्मेटिक द्वारा लिखित/उपयोग की जाने वाली एक टेम्पलेटिंग प्रणाली।

2

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

2

का उपयोग मैं Clojurescript के लिए तीन templating जायके पता:

  1. Dommy: बनाएँ और हेरफेर डोम cljs कोड से सीधे नोड।
  2. क्रेट: क्लोज़ डेटा (वैक्टर, मानचित्र इत्यादि) घोषित और कुशलतापूर्वक करें जिन्हें बाद में डोम नोड्स में परिवर्तित किया जाता है।
  3. Enfocus: HTML फ़ाइलों में HTML लिखें, उन्हें संसाधित करें और उन्हें cljs से बदलें। यह templating के बारे में सोचने का एक अलग तरीका है, और यह clj पुस्तकालय Enlive पर आधारित है।

पुस्तकालयों कि प्रतिक्रिया डोम सामान्य डोम नोड्स लेकिन ऊपर वर्णित के रूप में एक ही तरीके से काम करने के बजाय नोड का उत्पादन कर रहे हैं:

  1. किसी भी Cljs आवरण प्रतिक्रिया, ओम या अभिकर्मक
  2. Sablono
  3. की तरह
  4. Kioo

मैं जानता हूँ कि आप केवल templating के लिए पूछ रहे हैं और प्रतिक्रिया की तुलना में अधिक के साथ आता है, लेकिन आप टी के अलावा कुछ भी जरूरत है वह सबसे बुनियादी परिचालन, मैं किसी भी प्रतिक्रिया आधारित दृष्टिकोण की सिफारिश करेंगे।

0

जवाब आप पहले से ही प्राप्त हो गया है के अलावा, मुझे लगता है कि आप इस तरह के रूप ReactOm, Reagent या Quiescent पर आधारित प्रणाली की जाँच की सिफारिश करेंगे। तीनों में से, मेरा निजी पसंदीदा अभिकर्मक है, लेकिन उनमें से कोई पारंपरिक डीओएम हेरफेर आईएमएचओ में सुधार होगा।

1

चूंकि इसका अभी तक उल्लेख नहीं किया गया है: मुझे वास्तव में Hoplon पसंद है। यह उपकरण के निम्नलिखित सेट को जोड़ती है:

  • कस्टम HTML तत्वों नियमित कार्य हैं और बनाया है और HLisp साथ कार्यात्मक हो सकती हैं।
  • स्प्रेडशीट-जैसे डेटाफ्लो Javelin क्लोजरस्क्रिप्ट लाइब्रेरी के साथ। कोशिकाओं और सूत्रों का उपयोग कर सहज प्रतिक्रियाशील व्यवहार मॉडल।
  • Castra क्लोजर और क्लोजरस्क्रिप्ट लाइब्रेरी के साथ सर्वर के साथ इंटरैक्ट करें। सर्वर पर फ़ंक्शंस परिभाषित करें, उन्हें क्लाइंट से कॉल करें।

आप एक पूर्ण ढेर समाधान के रूप में उपयोग कर सकते हैं या क्लाइंट साइड पर ही इसके साथ काम कर सकते हैं।

(page "index.html") 

(defn my-list [& items] 
    (div 
    :class "my-list" 
    (apply ul (map #(li (div :class "my-list-item" %)) items)))) 

(def clicks (cell 0)) 

(html 
    (head 
    (title "example page")) 
    (body 
    (h1 "Hello, Hoplon") 

    (my-list 
     (span "first thing") 
     (span "second thing")) 

    (p (text "You've clicked ~{clicks} times, so far.")) 
    (button :click #(swap! clicks inc) "click me"))) 
संबंधित मुद्दे