Diego Fernando Rojas Quintero
PreguntaChicos tengo dos preguntas. Según nuestro archivo package.json, hay nos aparecen 3 dependencias cuando instalamos los paquetes: “dependencies”, “devDependencies”, “optionalDependencies”. ¿Cual es su diferencia? ¿como yo sabria que paquete deberia instalarse segun estas tres dependencias?
-
dependencies: Sirven para dependencias de producción, es decir, las que ajuro necesita nuestro codigo para funcionar correctamente.
-
devDependenciers: Sirven para ayudarnos a desarrollar pero no son esenciales para el funcionamiento del proyecto. Por ejemplo los paquetes de testing por lo general son dependencias de desarrollo, ya que una vez probado nuestro codigo ya no sera necesario estas dependencias en producción.
-
optionalDependencies: Estas tal vez nos podrian ayudar a desarrollar y no son esenciales para el funcionamiento del codigo. Por ejemplo cowsay es un paquete que te permite dibujar en la terminal una vaca que habla, no sirve para desarrollar tampoco para el funcionamiento de la aplicación pero es divertida jejejeje
Gabriel Alejandro Terán Guerrero
Espero te sirva esta explicación
Diego Fernando Rojas Quintero
gracias gabrielgt24, me resolviste esta granduda, pero quisiera saber una cosa mas, si sabrías responderla?.
hay algunos curso de platzi que en vez de utilizar npm usan npx ¿que es eso?¿que hacen?
Carlos Cuevas Sosa
npx es un comando adicional a npm que ejecuta los programas instalados mediante npm
Gonzalo Amador Hernández
cuando instalas un paquete con npm de forma global por ejemplo
npm i -g my-package
tu puedes llamarlo directamente en tu terminal (como si fuera un programa normal) por ejemplo:
my-package my-file.js
pero como llamas un programa que instalaste de forma local?
npm i -D my-package
debes hacerlo de la siguiente forma (mas o menos):
/node_modules/path/to/my/package my-file.js
pero no es practico verdad? entonces podemos hacer que npx resuleva la ruta para ejecutar nuestro paquete (instalado de forma local, ya sea dev dependency o no):
npx my-package my-file.js
