2011-11-03 12 views
11

मैं एक्सप्रेस और जेड का उपयोग कर रहा हूं, लेकिन जब मैं डीबग करता हूं तो मैं नहीं चाहता कि जेड मेरे एचटीएमएल को संपीड़ित करे, क्या वैश्विक स्तर पर एक विकल्प जेड पास करने और इसे HTML को संपीड़ित करने का कोई तरीका नहीं है।एक्सप्रेस और जेड एचटीएमएल कैसे संपीड़ित नहीं कर सकता है?

+0

क्या आपका मतलब यह है कि जब आप पृष्ठ के स्रोत को देखते हैं तो जेड टेम्पलेट दिखाना चाहते हैं? –

+0

@ChrisBiscardi हाँ –

+0

उसका मतलब है कि वह जेड मिडलवेयर के संकलन के दौरान संपीड़न को बंद करना चाहता है। मुझे विश्वास है। कम से कम यही मैं चाहता हूँ। – light24bulbs

उत्तर

9

उस समय से जब यह उत्तर लिखा गया था तो इस व्यवहार को नियंत्रित करने के लिए एक विकल्प जोड़ा गया है।

app.locals.pretty = true; 

फिलहाल, नहीं। यह सुविधा यहाँ पर चर्चा की गई है:

https://github.com/visionmedia/jade/pull/205

एचटीएमएल वास्तव में संकुचित नहीं करता हो या हालांकि, डिफ़ॉल्ट रूप से न्यूनतम किया गया। यह सिर्फ अच्छी तरह से स्वरूपित नहीं है। इसे मानव-पठनीय बनाने के लिए सबसे आसान तरीका है क्रोम के देव उपकरण का उपयोग करना, जो आपको स्रोत का एक अच्छा फोल्ड करने योग्य प्रतिनिधित्व देता है।

+14

मैंने टीजे से पूछा। 'app.set ('व्यू विकल्प', {सुंदर: सत्य}) का उपयोग करें;' –

+0

अच्छा, यह पूरी तरह से काम किया! –

+0

@guilin 桂林 यह स्वीकार्य उत्तर नहीं होना चाहिए। सबसे ऊपर के साथ उत्तर सही है – light24bulbs

1

आप ब्राउज़र में देखने के लिए अपने कोड को एनोटेट करने के लिए जेड टिप्पणियों का उपयोग कर सकते हैं।

//h1 
h1 Some Title 
//p 
p some content 

इच्छा उत्पादन

<!--h1--> 
<h1>Some Title</h1> 
<!--p--> 
<p>some content</p> 

टेम्पलेट पहले से ही संकलित किया गया है एक बार यह सर्वर छोड़ देता है, इसलिए यदि आप ब्राउज़र में टेम्पलेट देखना चाहते हैं तो आप उस एक प्लगइन लिखने के लिए होता है डी-संकलित एचटीएमएल जेड करने के लिए और decompiled संस्करण प्रदर्शित करने के लिए।

+2

क्या उन HTML टिप्पणियों को नहीं होना चाहिए? – Zikes

+1

नोप, जेड संकलन // से

+0

@Zikes afaik, जेड // के लिए एचटीएमएल टिप्पणियां आउटपुट करता है और पूरी तरह से अनदेखा /// टिप्पणियों को अनदेखा करता है। – Andy

1

हू, नोडज के लिए नया तो शायद यहां कुछ याद आ रहा है; लेकिन app.jsapp.set('view options', {pretty: true}); जोड़ना अप्रभावी था (एक्सप्रेस 3.0.3 का उपयोग करके)।

.. समर्थित नहीं प्रतीत होता है? एक कामकाज मिला, उदाहरण के लिए एक प्रति मार्ग आधार पर:

exports.index = function(req, res){ 
    res.render('index', { 
    [... other stuff ...] 
    pretty: true 
    }); 
}; 
+0

यदि आप एंडी के उत्तर को देखते हैं, तो यह काफी समान है। ('res.render ('अनुक्रमणिका', {/ * view.locals * /})')। यदि आप इसे ऐप.लोकल्स पर सेट करते हैं, तो यह आपके सभी 'res.render()' कॉल तक फैलता है। [कुछ दस्तावेज कैसे ऐप/दृश्य स्थानीय काम करते हैं।] (Http://expressjs.com/4x/api.html#app.locals) –

27

आप एक्सप्रेस 3.x का उपयोग करते हैं, तो आप संपीड़न app.locals.pretty के माध्यम से नियंत्रित कर सकते हैं। मैं आमतौर पर विकास के दौरान इसे सक्षम करता हूं:

app.configure('development', function() { 
    app.locals.pretty = true; 
}); 
+2

एक आकर्षण की तरह काम करता है, बहुत बहुत धन्यवाद! –

+0

यह मेरे लिए काम नहीं करता है, लेकिन उत्तर जो सही चिह्नित किया गया है मेरे लिए काम किया ... –

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