यह पता लगाने के लिए "आधिकारिक" तरीका क्या है कि _
वैरिएबल लॉनाश या अंडरस्कोर से भरा हुआ है या नहीं?पता लगाना कि _ लॉनाश है या अंडरस्कोर
मैं पर्यावरण में एक परियोजना के लिए lodash का उपयोग कर रहा हूं जहां underscoreकभी-कभी भी लोड हो सकता है।
वर्तमान में, मैं इस के साथ आ गया है:
/**
* lodash defines a variable PLACEHOLDER = '__lodash_placeholder__'
* so check if that is defined/contains the string "lodash"
*/
if (typeof(_.PLACEHOLDER) == 'undefined' || _.PLACEHOLDER.indexOf('lodash') < 0) {
// _ is underscore, do what I need to access lodash
}
महत्वपूर्ण अपडेट: ऊपर कोड काम नहीं करता!
क्या _
लॉन्श या अंडरस्कोर है तो पता लगाने के लिए कोई "आधिकारिक" तरीका है?
नोट्स:
यह अगर lodash या अंडरस्कोर _
चर में लोड किया जाता है निर्धारित करने के लिए एक रास्ता खोजने के लिए एक विशिष्ट अनुरोध है:
1. यह अंडरस्कोर या लोड नहीं है कि मेरे नियंत्रण से बाहर है। (lodash मेरे नियंत्रण में है, और हमेशा लोड किया जाएगा)।
2. लॉनाश/अंडरस्कोर का लोड ऑर्डर पर भरोसा नहीं किया जा सकता है।
3. लोड किए गए अंडरस्कोर का संस्करण बदलने की संभावना है (यह एक सीएमएस फ्रेमवर्क का हिस्सा है जिसे अपडेट किया जा सकता है)।
4. लोडाश 4.17.x में 300+ फ़ंक्शन हैं। मेरा कोड लॉनाश में कार्यों के का उपयोग करता है।
5. लोडाश में कई फ़ंक्शन हैं जो अंडरस्कोर प्रदान नहीं करते हैं।
6. दोनों पुस्तकालयों में मौजूद कुछ कार्यों में अलग-अलग कार्यान्वयन होते हैं।
केवल एक चीज मैं के बारे में सोच सकते हैं 'है _ 'संस्करण' में 'संस्करण' मौजूद है लेकिन 'अंडरस्कोर' – bhantol
@bhantol में नहीं है: अंडरस्कोर में 'संस्करण' भी है (कम से कम इसकी वेबसाइट पर संस्करण)। –
'isLodash = _.toString()।indexOf ('lodash')> = 0 ' – bhantol