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

156
Visualizações
¿Cómo funcionan los paquetes de producción cuando se usan dentro de un paquete --save-dev?

Estoy trabajando en un curso de React Redux e instalamos Redux devtools usando npm install --save-dev redux-devtools-extension y lo usamos así:

 import { composeWithDevTools } from 'redux-devtools-extension' const store = createStore( reducer, composeWithDevTools() )

Tengo entendido que el --save-dev significa que este paquete no se usará en producción. La siguiente sección del curso presenta Redux Thunk y se instala usando npm install redux-thunk . Si no me equivoco, esto significa que este paquete se usará en producción. Sin embargo, thunk se usa en el curso de esta manera:

 import thunk from 'redux-thunk' import { composeWithDevTools } from 'redux-devtools-extension' const store = createStore( reducer, composeWithDevTools( applyMiddleware(thunk) ) )

thunk se usa dentro de una función de paquete que se instaló usando --save-dev . ¿Cómo funcionaría esto en producción ya que esa versión no instalaría redux-devtools-extension ?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

--save-dev agrega el paquete de terceros a las dependencias de desarrollo del paquete. No se instalará cuando alguien ejecute npm install directamente para instalar su paquete. Por lo general, solo se instala si alguien clona su repositorio de origen primero y luego ejecuta npm install en él.

about 4 years ago · Juan Pablo Isaza Relatório

0

Una respuesta corta es no , no debería funcionar en producción. Cuando instaló una dependencia en modo de desarrollo, solo debería tener fines de desarrollo. Como instaló las dependencias a través --save-dev , las dependencias no se incluirán en el código de producción. Dado que ha incluido sus dependencias en su código sin ninguna declaración condicional (si declaración) para determinar si está o no en modo de desarrollo y ha instalado la dependencia solo en modo dev, el código ya se rompe en

 import { composeWithDevTools } from 'redux-devtools-extension'

Si realmente desea usar las herramientas de desarrollo solo en un entorno de desarrollo, instálelo en modo no desarrollador y use la siguiente declaración de importación:

 import { composeWithDevTools } from 'redux-devtools-extension/developmentOnly';

Mientras tanto, si solo quieres usarlo en producción, importa esto.

 import { composeWithDevTools } from 'redux-devtools-extension/logOnlyInProduction';

Y si desea utilizar estas herramientas de desarrollo de cualquier manera, puede volver a utilizar la primera declaración de importación, ya que no verificará su entorno.

Si la primera declaración funciona bien para el entorno de producción, no tendrá sentido que el autor/colaborador incluya la variante developmentOnly y logOnlyInProduction en el código fuente de la biblioteca.

La diferencia de cada variante está disponible en el código src:

https://github.com/zalmoxisus/redux-devtools-extension/blob/c220fd18d6fb4b0790a501ec4df0de52b5bee460/npm-package/logOnly.js#L40

https://github.com/zalmoxisus/redux-devtools-extension/blob/master/npm-package/developmentOnly.js

https://github.com/zalmoxisus/redux-devtools-extension/blob/master/npm-package/logOnlyInProduction.js

about 4 years ago · Juan Pablo Isaza 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