Vous pouvez installer lodash.isequal
en un seul module sans l'installation de l'ensemble de la lodash paquet comme suit:
npm install --save lodash.isequal
Lors de l'utilisation d'ECMAScript 5 et CommonJS modules, vous importez ensuite comme ceci:
var isEqual = require('lodash.isequal');
À l'aide de ES6 modules, ce serait:
import isEqual from 'lodash.isequal';
Et vous pouvez l'utiliser dans votre code:
const obj1 = {username: 'peter'};
const obj2 = {username: 'peter'};
const obj3 = {username: 'gregory'};
isEqual(obj1, obj2) // returns true
isEqual(obj1, obj3) // returns false
Source: documentation Lodash
Après l'importation, vous pouvez utiliser l' isEqual
fonction dans votre code. Notez que ce n'est pas une partie d'un objet nommé _
si vous importez de cette façon, de sorte que vous
ne pas référencer avec _.isEqual
, mais directement avec isEqual
.
Alternative: Utiliser lodash-es
Comme l'a souligné @kimamula:
Avec webpack 4 et lodash-es 4.17.7 et plus, ce code fonctionne.
import { isEqual } from 'lodash-es';
C'est parce que webpack 4 prend en charge les effets secondaires de drapeau et d' lodash-es
4.17.7 et supérieur comprend le drapeau (qui est définie à l' false
).
Pourquoi ne Pas Utiliser la Version Avec la barre oblique?
D'autres réponses à cette question suggèrent que vous pouvez également utiliser un tiret au lieu d'un point, comme suit:
import isEqual from 'lodash/isequal';
Cela fonctionne aussi, mais il y a deux inconvénients mineurs:
- Vous devez installer l'ensemble lodash paquet (
npm install --save lodash
), non seulement la petite lodash.isequal paquet; espace de stockage n'est pas cher et les Processeurs sont rapides, donc vous ne pouvez pas se soucier de cette
- Le faisceau résultant lors de l'utilisation d'outils comme webpack sera un peu plus grand; j'ai trouvé que les dimensions des paquets avec un minimum d'exemple de code d'
isEqual
sont en moyenne de 28% plus grand (essayé webpack 2 et webpack 3, avec ou sans Babel, avec ou sans Uglify)