2011-12-06 13 views
11

में अंडरस्कोर का उपयोग कैसे करें मैं अंडरस्कोर समारोह redering में के लिए, जेड टेम्पलेट में उपयोग करने के लिए इसजेड टेम्पलेट

p= _.keys(user) 
नहीं ग्राहक जावास्क्रिप्ट के लिए

की तरह, चाहते हैं।

के माध्यम से मुझे app.js में 'underscore' की आवश्यकता होती है, साथ ही साथ नहीं मिला। बेशक यह app.js. में ठीक से काम करता है।

ReferenceError: xxxxxxx _ is not defined 

यह टेम्पलेट त्रुटि संदेश है। कोई विचार?

धन्यवाद

उत्तर

20

आप Express.js उपयोग कर रहे हैं यदि आप एक view helper के रूप में अंडरस्कोर जोड़ सकते हैं (शायद आप जब से तुम जेड का उपयोग कर रहे हो जाएगा)।

app.helpers({ 
    _: require("underscore") 
}); 

अद्यतन एक्सप्रेस 3+ का उपयोग करना, इसके बाद के संस्करण अब काम नहीं करेंगे, app.locals बजाय का उपयोग करेगा:

app.locals._ = require("underscore"); 
+0

धन्यवाद। यह अच्छा काम करता है! – dot

+0

यह केवल एक्सप्रेस 3.x –

+0

से पहले काम करता है, मैं एक्सप्रेस 3 –

5

एक्सप्रेस में 3.x सहायकों हटा दिया गया। इसके बजाय मिडलवेयर और res.locals

app.use(function(req, res, next){ 
    res.locals._ = require('underscore'); 
    next(); 
});