2013-10-15 9 views
27

मैं इस तरह Node.js वेब ऐप्लिकेशन के लिए एक एक्सप्रेस में मेरे MongoDB सत्र की दुकान से एक सत्र चर में गुजर रहा हूँ:श्रृंखलाबद्ध एक चर + जेड में स्ट्रिंग फ़ाइल

exports.dashboard = function(req, res){ 
    res.render('dashboard', {pref: req.session.layoutpref}); 
} 

फिर, मेरी जेड में दाखिल मैं मीटर इस तरह सीएसएस लिंक करने के लिए pref का मूल्य असाइन करने की कोशिश, लेकिन मैं एक सिंटैक्स त्रुटि हो रही है:

head 
     title #{title} 
     link(rel='stylesheet', href='/stylesheets/' + #{pref} + '.css') 

मैं लगभग निश्चित समस्या सीएसएस के स्थान में pref की मेरी संयोजन में है कर रहा हूँ इस्तेमाल करने के लिए फ़ाइल। इसे ठीक करने का कोई तरीका?

उत्तर

51

#{} नोटेशन का उपयोग करें यदि आप किसी तत्व की सामग्री में चर को इंटरपोल करना चाहते हैं। यदि आप विशेषताओं में उनका उपयोग करना चाहते हैं तो आप केवल चर नामों का उपयोग कर सकते हैं।

link(rel='stylesheet', href='/stylesheets/' + pref + '.css') 

बराबर:

link(rel='stylesheet', href='/stylesheets/' + locals.pref + '.css') 

जब #{} उपयोग करने के लिए:

a(href='/stylesheets/' + locals.pref + '.css') View the stylesheet at #{pref} 
+0

बिल्कुल सही! धन्यवाद। –

+0

बहुत स्पष्ट, धन्यवाद! – a20

3

जेड फ़ाइलों Node.js env में संकलित कर रहे हैं।

Node.js (v4.0.0 से) template literals का समर्थन करता है, तो

link(rel='stylesheet', href=`/stylesheets/${pref}.css`) 

बराबर:

link(rel='stylesheet', href='/stylesheets/' + pref + '.css') 
संबंधित मुद्दे