मैंने पहले जेड का उपयोग किया था। जेड के बारे में अच्छी बात यह है कि आपके पास एक छोटा वाक्यविन्यास है जिसका अर्थ है कि आप तेज़ी से टाइप कर सकते हैं। जेड में block
बहुत शक्तिशाली है जो जटिल HTML कोड से निपटने के दौरान मुझे बहुत मदद कर सकता है।
दूसरी ओर, जेड में कुछ सरल चीजें करना मुश्किल है, जैसे कि स्थिति के आधार पर डीआईवी में कक्षाएं जोड़ने जैसी चीज। मैं भी इस
- if (isAdmin)
div.admin.user
- else
div.user
जेड की तरह कुछ डाल करने के लिए की जरूरत है (कम से कम मेरे लिए) टैग और चर जो कोड बहुत भ्रमित कर के बीच अंतर नहीं है
a(href='/user/' + user.id)= user.name
जेड भी नहीं डिजाइनर अनुकूल। मेरे डिजाइनर मित्र अक्सर मुझे एचटीएमएल और सीएसएस देते हैं (वे हाल ही में कम से कम स्विच करते हैं लेकिन फिर भी एचटीएमएल का उपयोग करना चाहते हैं), और इसी कारण से यदि मैं जेड का उपयोग करता हूं तो मुझे HTML को जेड में परिवर्तित करने की आवश्यकता होती है। जेड में भी, हमें इंडेंटेशन का उपयोग करने की आवश्यकता है, इसलिए यदि आपकी एचटीएमएल संरचना जटिल हो जाती है, तो आपका कोड भयानक (विशेष रूप से टेबल) दिखाई देगा। कभी कभी, मैं भी नहीं जानता कि किस स्तर पर मैं हाल ही में
table
thead
tr
td
a
img
tr
td
tbody
tr
td
पर हूँ, मैं EJS करने के लिए एक स्विच कर दिया और मैं अब तक इसके साथ खुश हूँ। यह शुद्ध एचटीएमएल के बहुत करीब है और उसी वाक्यविन्यास का उपयोग करें जो मैं सामने वाले टेम्पलेट इंजन का उपयोग कर रहा हूं (अंडरस्कोर टेम्पलेट)। मुझे कहना होगा कि ईजेएस के साथ सबकुछ आसान है। मेरे डिजाइनर मित्र से HTML टेम्पलेट प्राप्त करते समय मुझे सभी रूपांतरण करने की ज़रूरत नहीं है। मुझे बस इतना करना है कि ExpressJS से पारित चर के साथ गतिशील भागों को प्रतिस्थापित करना है। सामग्री है कि मुझे पागल बना जब जेड का उपयोग कर EJS
<div class="<%= isAdmin? 'admin': '' %> user"></div>
में हल कर रहे हैं और मुझे पता है सकते हैं क्या है क्या EJS साथ
<a href="/user/<%= user.id %>"><%= user.name %></a>
आप जेड (मेरे जैसे) के कम वाक्य रचना चूक जाते हैं तो आप को जोड़ सकते हैं जेन-कोडिंग और ईजेएस जो आपको सामान्य रूप से प्रगति को तेज करने में मदद कर सकते हैं। प्रदर्शन के बारे में, मैं नहीं दिख रहा कोई अंतर
हालांकि, EJS जेड के रूप में के रूप में शक्तिशाली नहीं है, यह डिफ़ॉल्ट रूप से ब्लॉक नहीं है
(इस आदमी EJS https://github.com/RandomEtc/ejs-locals के लिए एक ब्लॉक सुविधा को लागू) इसलिए, यह जो भी आपको आरामदायक बनाता है उसे चुनने के लिए पूरी तरह से निर्भर करता है। लेकिन यदि आप मेरे जैसे फ्रंटएंड के लिए एक और टेम्पलेट इंजन का उपयोग करने जा रहे हैं, तो बेहतर है कि आप दोनों पक्षों के लिए एक ही चीज़ का उपयोग करते हैं
अपडेट 16 दिसंबर 2013: हाल ही में, मैंने ईजेएस से स्विग तक स्विच किया है (जो समान है पाइथन दुनिया में Jinja2 के रूप में अवधारणा)। मुख्य कारण ejs-locals
की सहायता से ईजेएस में ब्लॉक की कमी है। स्विग टेम्पलेट्स के लिए सादे एचटीएमएल का उपयोग कर रहा है और बहुत सी शानदार फीचर्स जो टेम्पलेट इंजन के लिए उदाहरण के लिए फिल्टर और टैग्स होनी चाहिए, जिनके पास ईजेएस
यह जानने के संबंध में कि आप किस स्तर पर हैं, यह उल्लेख किया जाना चाहिए कि जेड के पास एक ही पंक्ति पर एकाधिक टैग के लिए नया समर्थन है। जेड के दस्तावेज़ीकरण से, 'अंतरिक्ष को बचाने के लिए, जेड नेस्टेड टैग के लिए एक इनलाइन वाक्यविन्यास प्रदान करता है।' एएमजी '' के बराबर है। –
मैंने एक या दो साल पहले 'जेड' की कोशिश की थी। शायद यह अब बेहतर हो रहा है। हालांकि मेरे पहले बिंदु को दोबारा शुरू करना, –
के आस-पास जाना आसान नहीं होगा क्या आपने [html2jade] (http://html2jade.com/) देखा है? – tjameson