lodash.isequalTüm lodash paketini şu şekilde kurmadan tek bir modül olarak kurabilirsiniz :
npm install --save lodash.isequal
ECMAScript 5 ve CommonJS modüllerini kullanırken, bunu şu şekilde içe aktarırsınız:
var isEqual = require('lodash.isequal');
ES6 modüllerini kullanarak bu şöyle olur:
import isEqual from 'lodash.isequal';
Ve bunu kodunuzda kullanabilirsiniz:
const obj1 = {username: 'peter'};
const obj2 = {username: 'peter'};
const obj3 = {username: 'gregory'};
isEqual(obj1, obj2) // returns true
isEqual(obj1, obj3) // returns false
Kaynak: Lodash belgeleri
İçe aktardıktan sonra, isEqualişlevi kodunuzda kullanabilirsiniz. O adında bir nesnenin bir parçası olmadığını Not _sen bu yüzden, bu şekilde ithal eğer
yok ile ona başvuru _.isEqualile doğrudan ama isEqual.
Alternatif: Kullanma lodash-es
@Kimamula tarafından belirtildiği gibi :
Webpack 4 ve lodash-es 4.17.7 ve üstü ile bu kod çalışır.
import { isEqual } from 'lodash-es';
Bunun nedeni, webpack 4'ün sideEffects bayrağını desteklemesi ve lodash-es4.17.7 ve daha üst sürümünün bayrağı içermesidir (olarak ayarlanmıştır false).
Sürümü Neden Eğik Çizgi ile Kullanmıyorsunuz?
Bu sorunun diğer yanıtları, nokta yerine kısa çizgi de kullanabileceğinizi gösteriyor, örneğin:
import isEqual from 'lodash/isequal';
Bu da işe yarıyor, ancak iki küçük dezavantaj var:
- Sadece küçük ayrı lodash.isequal paketini değil , tüm lodash paketini (
npm install --save lodash) yüklemelisiniz ; depolama alanı ucuzdur ve CPU'lar hızlıdır, bu yüzden bunu önemsemeyebilirsiniz
- Web paketi gibi araçlar kullanılırken ortaya çıkan paket biraz daha büyük olacaktır; Minimum kod örneğine sahip paket boyutlarının
isEqualortalama% 28 daha büyük olduğunu öğrendim (Uglify ile veya Babel olmadan, webpack 2 ve webpack 3'ü denedim)