Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

358
Visualizações
¿Cómo importar una sola función Lodash?

Usando webpack, estoy tratando de importar isEqual ya que lodash parece estar importando todo. He intentado hacer lo siguiente sin éxito:

 import { isEqual } from 'lodash' import isEqual from 'lodash/lang' import isEqual from 'lodash/lang/isEqual' import { isEqual } from 'lodash/lang' import { isEqual } from 'lodash/lang'
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puede instalar lodash.isequal como un solo módulo sin instalar todo el paquete lodash de la siguiente manera:

 npm install --save lodash.isequal

Cuando usa los módulos ECMAScript 5 y CommonJS, lo importa 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 función isEqual en su código. Tenga en cuenta que no es parte de un objeto llamado _ si lo importa de esta manera, por lo que no lo hace referencia con _.isEqual , sino directamente con isEqual .

Alternativa: Usar 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 admite el indicador sideEffects y lodash-es 4.17.7 y versiones posteriores incluyen el indicador (que se establece en false ).

¿Por qué no usar la versión con la barra oblicua? 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 barato y las CPU son rápidas, por lo que es posible que esto 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 de isEqual son en promedio un 28 % más grandes (probé el paquete web 2 y el paquete web 3, con o sin Babel, con o sin Uglify)
over 4 years ago · Santiago Trujillo Relatório

0

Si solo desea incluir isEqual y no el resto de las funciones de lodash (útiles para mantener el tamaño de su paquete pequeño), puede hacerlo en ES6;

 import isEqual from 'lodash/isEqual'

Esto es más o menos lo mismo que lo que se describe en el LÉAME de lodash , excepto que allí usan la sintaxis require() .

 var at = require('lodash/at');
over 4 years ago · Santiago Trujillo Relatório

0

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 admite sideEffects sideEffects y lodash-es 4.17.7 y versiones posteriores incluyen el indicador (que se establece en false ).

Editar

A partir de la versión 1.9.0, Parcel también es compatible con "sideEffects": false , por lo tanto import { isEqual } from 'lodash-es'; también se puede sacudir el árbol con Parcel.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda