다음 과 같이 lodash.isequal
전체 lodash 패키지 를 설치하지 않고 단일 모듈로 설치할 수 있습니다 .
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
출처 : Lodash 문서
가져온 후 isEqual
코드 에서 함수를 사용할 수 있습니다 . 그것이라는 개체의 일부가 아닙니다 _
당신은, 그래서이 방법을 가져 오면
하지 않는 그것을 참조하는 _.isEqual
직접,하지만 isEqual
.
대안 : 사용 lodash-es
@kimamula가 지적 했듯이 :
webpack 4 및 lodash-es 4.17.7 이상에서는이 코드가 작동합니다.
import { isEqual } from 'lodash-es';
이는 webpack 4가 sideEffects 플래그를 지원하고 4.17.7lodash-es
이상이 플래그 (로 설정 됨 false
)를 포함하기 때문입니다.
슬래시가있는 버전을 사용하지 않는 이유는 무엇입니까?
이 질문에 대한 다른 답변은 다음과 같이 점 대신 대시를 사용할 수도 있음을 제안합니다.
import isEqual from 'lodash/isequal';
이것도 작동하지만 두 가지 사소한 단점이 있습니다.
- 작은 별도의 lodash.isequal 패키지 뿐만 아니라 전체 lodash 패키지 (
npm install --save lodash
) 를 설치해야합니다 . 저장 공간이 저렴하고 CPU가 빠르기 때문에 신경 쓰지 않을 수도 있습니다.
- 웹팩과 같은 도구를 사용할 때 생성되는 번들은 약간 더 커집니다. 최소한의 코드 예제가 포함 된 번들 크기가
isEqual
평균 28 % 더 큽니다 (웹팩 2 및 웹팩 3, Babel 유무, Uglify 유무에 관계 없음).