Anda dapat menginstal lodash.isequal
sebagai modul tunggal tanpa menginstal seluruh paket lodash seperti:
npm install --save lodash.isequal
Saat menggunakan modul ECMAScript 5 dan CommonJS, Anda kemudian mengimpornya seperti ini:
var isEqual = require('lodash.isequal');
Menggunakan modul ES6, ini akan menjadi:
import isEqual from 'lodash.isequal';
Dan Anda dapat menggunakannya di kode Anda:
const obj1 = {username: 'peter'};
const obj2 = {username: 'peter'};
const obj3 = {username: 'gregory'};
isEqual(obj1, obj2) // returns true
isEqual(obj1, obj3) // returns false
Sumber: Dokumentasi Lodash
Setelah mengimpor, Anda dapat menggunakan isEqual
fungsi tersebut di kode Anda. Perhatikan bahwa ini bukan bagian dari objek yang dinamai _
jika Anda mengimpornya dengan cara ini, jadi Anda
tidak mereferensikannya dengan _.isEqual
, tetapi langsung denganisEqual
.
Alternatif: Menggunakan lodash-es
Seperti yang ditunjukkan oleh @kimamula :
Dengan webpack 4 dan lodash-es 4.17.7 dan yang lebih tinggi, kode ini berfungsi.
import { isEqual } from 'lodash-es';
Hal ini karena Webpack 4 mendukung para sideeffects bendera dan lodash-es
4.17.7 dan lebih tinggi termasuk bendera (yang diatur ke false
).
Mengapa Tidak Menggunakan Versi Dengan Slash?
Jawaban lain untuk pertanyaan ini menyarankan Anda juga dapat menggunakan tanda hubung sebagai pengganti titik, seperti ini:
import isEqual from 'lodash/isequal';
Ini juga berfungsi, tetapi ada dua kelemahan kecil:
- Anda harus menginstal seluruh paket lodash (
npm install --save lodash
), bukan hanya lodash.isequal kecil yang terpisah paket ; ruang penyimpanan murah dan CPU cepat, jadi Anda mungkin tidak peduli tentang ini
- Bundel yang dihasilkan saat menggunakan alat seperti webpack akan sedikit lebih besar; Saya menemukan bahwa ukuran bundel dengan contoh kode minimal
isEqual
rata-rata 28% lebih besar (mencoba webpack 2 dan webpack 3, dengan atau tanpa Babel, dengan atau tanpa Uglify)