मेरे पास 3 फाइलें हैं: layoutA.jade, layoutB.jade और index.jade। मैं प्रोग्रामेटिक रूप से सेट कर सकता हूं कि index.jade किस लेआउट का विस्तार करेगा?Node.js/Express 3.0 में विस्तार करने के लिए आप जेड टेम्पलेट के लिए गतिशील रूप से लेआउट कैसे सेट करते हैं?
मैं का उपयोग कर की कोशिश की है:
app.set('view options', { layout: false });
साथ:
res.render('index', { title: 'Express', layout: 'layoutB' }); // older 2.x way?
मैं कुछ भी index.jade फ़ाइल में स्पष्ट रूप से सेट ओवरराइड नहीं कर पा रहे। Index.jade फ़ाइल के अंदर विस्तार रेखा को छोड़कर या तो काम नहीं किया।
+ views
+ shared
- layoutA.jade
- layoutB.jade
+ home
- index.jade
सही क्रम में लेआउट सेटिंग जोड़ें, और जड़ विचारों फ़ोल्डर निर्दिष्ट करें::
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.set('view options', { layout: 'shared/layoutA' });
सुनिश्चित करें कि आप निर्दिष्ट करते हैं
मुझे सही अगर मैं गलत हूँ, लेकिन यह समाधान सही अब और नहीं है? –
@AugustinRiedinger प्रश्न शीर्षक के अनुसार यह एक्सप्रेस 3.0 के लिए सही होना चाहिए। क्या यह उस संस्करण के भीतर काम नहीं करता है? – JimmyBoh
मुझे नहीं लगता कि 'एक्सप्रेस 3' बनाम वर्तमान' एक्सप्रेस 4.x' के बारे में संगतता समस्या होगी लेकिन जेड-साइड पर: 'पग 2.0' का उपयोग करके, मैं बता सकता हूं कि 'व्यू विकल्प' पैरामीटर का उपयोग नहीं किया जाता है अब और (मुझे गलत होने में खुशी होगी)। सफलता के बिना जेड/पग में गतिशील लेआउट प्राप्त करने के लिए कई खोजों के माध्यम से किया गया, इसलिए गलत होने के बावजूद यह जवाब मुझे निराशाजनक रहा है। –