2012-10-29 19 views
6

पर ईजेएस लेआउट मुझे एक्सप्रेस 3 पर ईजेएस लेआउट फ़ाइल के साथ कुछ समस्या है। एक्सप्रेस को प्रतिपादन के लिए लेआउट नहीं मिल रहा है। यह सिर्फ layout.ejs को पूरी तरह से छोड़ देता है जिसका अर्थ है कि आउटपुट सभी स्टाइलशीट्स और इस तरह से चूक जाता है।एक्सप्रेस 3

res.render('login', { user: req.user }); 

और विन्यास हिस्सा है,

app.set('views', __dirname + '/views'); 
app.set('view engine', 'ejs'); 

और layout.ejs मैं शरीर टैग जोड़ लिया है,

<%- body %> 

मैंने पहले जेड बाहर कोशिश कर रहे हैं और यह सिर्फ काम किया ठीक है, तो समस्या सिर्फ ईजेएस है।

अग्रिम धन्यवाद।

+0

क्या 'login.ejs' कैसा दिखता है? – floatingLomas

+0

login.ejs ने अभी फेसबुक लॉगिन के लिए एक लॉगिन बटन प्रदान किया है, लेकिन वास्तव में यह अब काम करता प्रतीत होता है, लेआउट कार्यक्षमता एक्सप्रेस 3 में बदल दी गई है (नीचे उत्तर देखें)। फिर भी धन्यवाद। –

उत्तर

11

https://github.com/visionmedia/ejs/issues/48

मैं अनिश्चित है कि क्या इसके बाद के संस्करण अद्यतन किया गया है हूँ, लेकिन यह है कि लेआउट कार्यक्षमता एक्सप्रेस 3.

नतीजतन में पदावनत किया गया है पता चलता है, मैं उपयोग कर रहा है EJS-स्थानीय लोगों बराबर कार्यक्षमता लागू करने के लिए :

https://github.com/RandomEtc/ejs-locals

+0

मैं इसे प्रश्न के लिए एक टिप्पणी के रूप में जोड़ूंगा लेकिन आवश्यक प्रतिष्ठा की कमी होगी। – Michael

+3

हां, लेआउट और आंशिक को एक्सप्रेस 3 में हटा दिया गया है। आपको उन्हें वापस लाने के लिए ejs-locals का उपयोग करने की आवश्यकता है। – chovy

+5

किसी और के लिए 'ejs-locals' को देखकर अब बनाए रखा नहीं गया है –