आप lodash.isequalपूरे लॉकेट पैकेज को स्थापित किए बिना एकल मॉड्यूल के रूप में स्थापित कर सकते हैं :
npm install --save lodash.isequal
ECMAScript 5 और CommonJS मॉड्यूल का उपयोग करते समय, आप तब इसे इस तरह से आयात करते हैं:
var isEqual = require('lodash.isequal');
ES6 मॉड्यूल का उपयोग करना, यह होगा:
import isEqual from 'lodash.isequal';
और आप इसे अपने कोड में उपयोग कर सकते हैं:
const obj1 = {username: 'peter'};
const obj2 = {username: 'peter'};
const obj3 = {username: 'gregory'};
isEqual(obj1, obj2) // returns true
isEqual(obj1, obj3) // returns false
स्रोत: लोडश डॉक्यूमेंटेशन
आयात करने के बाद, आप isEqualअपने कोड में फ़ंक्शन का उपयोग कर सकते हैं । ध्यान दें कि _यदि आप इसे इस तरह से आयात करते हैं, तो यह किसी ऑब्जेक्ट का हिस्सा नहीं है , इसलिए आप
इसका संदर्भ नहीं देते हैं _.isEqual, लेकिन सीधे साथ देते हैं isEqual।
वैकल्पिक: का उपयोग करना lodash-es
जैसा कि @kimamula ने बताया :
वेबपैक 4 और लॉकेट-एस 4.17.7 और उच्चतर के साथ, यह कोड काम करता है।
import { isEqual } from 'lodash-es';
ऐसा इसलिए है क्योंकि वेबपैक 4 साइडफ्लेक्स फ्लैग और lodash-es4.17.7 का समर्थन करता है और उच्चतर में फ्लैग (जो सेट है false) शामिल है।
स्लैश के साथ संस्करण का उपयोग क्यों नहीं करें?
इस प्रश्न के अन्य उत्तर बताते हैं कि आप डॉट के बजाय डैश का उपयोग कर सकते हैं, जैसे:
import isEqual from 'lodash/isequal';
यह भी काम करता है, लेकिन दो छोटी कमियां हैं:
- आपको पूरे लॉश पैकेज को स्थापित करना होगा (
npm install --save lodash), न कि केवल छोटे से अलग लॉश.इसेक्वल पैकेज को; भंडारण स्थान सस्ता है और सीपीयू तेज हैं, इसलिए आप इस बारे में परवाह नहीं कर सकते हैं
- वेबपैक जैसे टूल का उपयोग करते समय परिणामी बंडल थोड़ा बड़ा होगा; मुझे पता चला कि एक न्यूनतम कोड उदाहरण के साथ बंडल आकार
isEqualऔसतन 28% बड़ा होता है (वेबलॉग 2 और वेबपैक 3 की कोशिश की जाती है, बेगेल के साथ या उसके बिना या उसके बिना)