Puede instalar lodash.isequal
como un solo módulo sin instalar todo el paquete lodash de la siguiente manera:
npm install --save lodash.isequal
Al usar los módulos ECMAScript 5 y CommonJS, lo importas así:
var isEqual = require('lodash.isequal');
Usando módulos ES6, esto sería:
import isEqual from 'lodash.isequal';
Y puedes usarlo en tu código:
const obj1 = {username: 'peter'};
const obj2 = {username: 'peter'};
const obj3 = {username: 'gregory'};
isEqual(obj1, obj2) // returns true
isEqual(obj1, obj3) // returns false
Fuente: documentación de Lodash
Después de importar, puede usar la isEqual
función en su código. Tenga en cuenta que no es parte de un objeto con nombre _
si lo importa de esta manera, por lo
que no lo referencia con _.isEqual
, sino directamente con isEqual
.
Alternativa: uso lodash-es
Como señaló @kimamula :
Con webpack 4 y lodash-es 4.17.7 y superior, este código funciona.
import { isEqual } from 'lodash-es';
Esto se debe a que webpack 4 es compatible con el indicador sideEffects y lodash-es
4.17.7 y superior incluye el indicador (que se establece en false
).
¿Por qué no usar la versión con la barra diagonal?
Otras respuestas a esta pregunta sugieren que también puede usar un guión en lugar de un punto, así:
import isEqual from 'lodash/isequal';
Esto también funciona, pero hay dos inconvenientes menores:
- Debe instalar todo el paquete lodash (
npm install --save lodash
), no solo el pequeño paquete separado lodash.isequal ; el espacio de almacenamiento es económico y las CPU son rápidas, por lo que es posible que no le importe
- El paquete resultante al usar herramientas como webpack será un poco más grande; Descubrí que los tamaños de los paquetes con un ejemplo de código mínimo
isEqual
son en promedio un 28% más grandes (probé webpack 2 y webpack 3, con o sin Babel, con o sin Uglify)