Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Gestión de paquetes: NPM y package.json

20/31
Recursos

Aportes 66

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Seria genial poder LIKE a clases para que Platzi sepa cuales son las favoritas.

Esta me gusto mucho.

Cuando te enseñan la gestión de paquetes fuera de Platzi

😂😂😂😂😂😂😂😂😂

Existe un modulo que valida si es par, y otro para validar si no es par pues utiliza el modulo de par y lo niega JAJAJA

Ahora entiendo porque node_modules siempre están pesado, por las dependencias de cada paquete y las dependencias de las dependencias, etc (Hay cientos de memes de esta carpeta JAJA).

Debemos tener cuidado a la hora de elegir un paquete, pues vamos a depender de éste, así que es mejor que esta dependencia tenga buen soporte, buenas actualizaciones y ya haya sido ampliamente testeado por muchos usuarios.

Npm install el pan de cada dia

Les recomiendo el curso de NPM, es corto y explica de forma mas profunda su uso. inclusive de como crear paquetes.
Se los dejo aquí

npm (Node Package Manager) es un administrador de paquetes que permiten ejecutar funciones ya realizadas y validadas y de esta manera acelerar y asegurar la calidad de neustro proceso de desarrollo.

Podemos buscar modulos para casi todo en:

npm

// Para instalar un modulo de npm en nuestro proyecto
$ npm install is-odd

// Para requerir el modulo
const isOdd = require('is-odd');
console.log(isOdd(3)); // true

// Para revisar que los paquetes no estan actualizados a nivel global dentro de nuestro proyecto
npm outdated -g --depth=0
/* 
Va a imprimir algo así:
Package         Current  Wanted  Latest  Location
firebase-tools    8.0.1   8.0.2   8.0.2  global
npm              6.13.7  6.14.4  6.14.4  global
*/

// Para actualizar todos los paquetes a nivel global dentro del proyecto
npm update -g

Me cae bienn este maestro jajaja

Comando más usados de npm

#Iniciar un proyecto
npm init

#Iniciar un proyecto con configuración automática
npm init -y

#Instalar dependencias para producción
npm install nombreDelPaquete --save 
#Alternativa 2 de Instalar dependencias para producción o desarrollo
npm i nombreDelPaquete -S 

#Instalar dependencias para desarrollo
npm install nombreDelPaquete --save-dev # npm i nombreDelPaquete -D

#Instalar dependencias de manera global
npm install -g nombreDelPaquete # npm i -g nombreDelPaquete

#Instalar una versión especifica de una dependencia
npm install -g no[email protected] 

#Desinstalar dependencias 
npm uninstall nombreDelPaquete

#Ver dependencias desactualizadas
npm outdate

#Actualizar las dependencias desactualizadas
npm update

En caso de que estén utilizando Git para controlar los archivos en el proyecto. Ejecuten la siguiente línea para crear el gitignore:

npx gitignore node

Esto creará un archivo gitignore para evitar subir cosas de node que no deberían ir en el repo.

al momento que escribo este aporte hay (1.182.587) de paquetes en NPM

https://platzi.com/clases/npm/
tambien existe un curso para aprender a manejar NPM.

Gestión de paquetes: NPM y package.json


📋 NPM es un gestor de paquetes.

Tampoco vamos a instalar muchísimos paquetes, pero tener los necesarios y mantenerlos al día nos ayudará.

Para iniciar NPM utilizamos los comandos:

npm init

Y para instalar un paquete:

npm install *paquete*

Debemos tener cuidado con los paquetes que instalamos, que no tengan vulnerabilidades o por lo menos no de nivel high, ya que eso puede comprometer la seguridad de nuestro software

No tenemos que tener todo en la cabeza y el min 7:52 es la prueba. Hasta a este tremendo profe se le olvida la sintaxis 😜

No me explico como este profesor no es tan conocido en la comunidad de platzi si es muy bueno, e visto antes clases de npm donde modificas el package.json y no lo hacen ver tan sencillo como Carlos Hernandez. Un 10 para este profe.

Jajaja el que creó el paquete de isEven se llevó el paquete de isOdd 🤣️

Si les interesa profundizar en el manejo de paquetes con NPM el Curso de Gestión de Dependencias y Paquetes con NPM de Oscar está muy bueno.

Este profesor es muy bueno explicando, diria que lo mejor de el es como abtrae los temas complicados de igual forma que otros maestros como facundo de python ...

Y recuerden amigos. Nunca manden el node_modules a github. Incluyanlo siempre en su .gitignore

Gestión de paquetes: NPM y package.json

Existen muchos paquetes funcionales que provienen de npm, estos paquetes pueden tener muchos otros paquetes como dependencias y es importante para la seguridad de mi código revisar los paquetes que voy a utilizar en aspectos como:

  • Se actualiza constantemente.
  • La última actualización fue menor al último año.
  • Está en una versión superior a 0.algo .

Estas validaciones se hacen para estar seguros de que vamos a utilizar un paquete que este bien cuidado y no vaya a generar dolores de cabeza luego.

Instalación de paquetes

Cuando necesitamos utilizar un paquete la forma adecuada de hacer la instalación de un paquete de npm es la siguiente:

npm install <package-name>

Como recomendación adicional, es preferible tener el proyecto que se va a trabajar inicializado con npm de la siguiente forma:

npm init

Esto pedirá información del proyecto que se puede llenar y luego se va a crear un archivo package.json , que tiene toda la información del proyecto. Cuando se instala un paquete externo, va a aparecer en el archivo mencionado como una dependencia del mismo.

// Package.json
{
  "name": "npm",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "license": "MIT",
  "dependencies": {
    "is-odd": "^3.0.1"
  }
}
// Package.json

Si se quiere utilizar el módulo instalado, se debe crear un archivo .js y dentro de este hacer lo siguiente:

const isOdd = require('is-odd') //Importación del paquete

console.log(isOdd(4)) // Utilización del paquete 'is-odd'

Siempre me pregunte como hacer para saber si tal o cual paquete ya existe. Es decir me planteo X situacion y quizas en vez de romperse la cabeza para solucionarlo existe tal paquete.
Digamos la busqueda en si, sera compleja?

Me encanto el como explica las dependencias, y donde obtnerlas para ver su documentacion y entender que hacen, esto es algo que se deberia hacer mas seguido entre los cursos

const isOdd = require('is-odd')

console.log(`¿ El número es impar? \n ${isOdd(3)}`)

Esta es una de las clases que mas me ha gustado recibir porque explica bien lo que haremos como programadores y el profesor es increíble!

Que buena explicacion de los paquetes de npm

Esta muy bueno este curso, nodeJs se parece mucho a otras apñicaciones de Server Side de python

Me parecen excelentes este tipo de clases en donde se desmenusa todo el contenido y se explica como es que funciona cada pequeña parte de lo que hacemos, en mi opinión es la mejor manera de aprender… Comprendiendo como funciona cada cosa. Un aplauso por más clases así!!! 😃

npm es lo que para java es maven?? lo entiendo de esta manera… claro que maven separa los binarios del código fuente.

Haber utilizado distribuciones Linux desde hace muchos años me ha facilitado un poco esto.

npm (Node Package Manager) es un administrador de paquetes que permiten ejecutar funciones ya realizadas y validadas y de esta manera acelerar y asegurar la calidad de neustro proceso de desarrollo.

Me quedó una duda, cada que vaya a instalar un paquete, debo eliminar el archivo que genera “package.lock.json” y continuar el proceso con el init?

Y En caso de que quiera usar mas de un paquete como debo organizarlos en las carpetas?

Me gusto bastante la explicación al mostrarnos cómo funcionan los paquetes de npm, como se crean las dependencias y su uso en un archivo JS. Muchas gracias por la clase instructor Carlos.

const isOdd = require ('is-odd');

console.log(!isOdd(4));
//true (es par)

Ojala Carlos hubiera sido mi maestro de JS cuando empece hace 3 año como developer. De haber sido asi, hubiera amado JS desde el principio y no hubiera tenido ciertos traumas por las malas enseñanzas.

Gestión de paquetes: NPM y package.json

NPM

NPM es un gestor de paquetes que son creados por terceros, utilizados por cualquier persona. Estos paquetes pueden llegar a ser tan simples como la suma de dos números o tan complejos como react.js framework de frontend.

Al utilizar un paquete de npm debemos tener presente que algunos paquetes dependen de otro paquetes y esto puede llegar a ser riesgoso si el paquete que estamos utilizando no están actualizados.

package.json

Es un archivo que se crea con el fin de tener información valiosa de nuestro proyecto, en el podemos visualizar como el nombre del proyecto, el autor, que versión esta, que palabras clave contiene o lo referencia, si tiene un repositorio en github, y lo mas importante que dependencia esta usando.

Criterios a verificar al momento de descargar un paquete para el proyecto:

**- no tenga la versión 0. y algo

  • ✔️que la última publicación no sea hace años

-✔️ que no tenga muchos issues o pull requests abiertos

-✔️ verificar las descargas mensuales o semanales**

Otro interesante aporte de otro grande, como es Midu, en este caso para ganar espacio de tantas node_modules.

Borra todos los directorios node_modules de tu disco y libera espacio

Un saludo y gracias.

Las aplicaciones con tanto paquete queda muy pesada?

Se actualizan de forma automática después de instalados o se debe hacer un proceso de actualización?

les recomiendo el curso de gestion de dependencia

aqui el link:
https://platzi.com/clases/npm/

Npm i nodemon

¯\_(ツ)_/¯

Sí señores, EFECTIVAMENTE, una de las mejores clases en Platzi. Qué genial contenido!!!

Para todos los que en veces no sepan con que han comentado o como se ha eliminado un linea les dejo el enlace de los shortcuts en windows

Shortcuts Visual Code

Jajajaja el módulo que usa y niega el otro módulo de impares es lo mejor XD

La pagina de npm es el santo grial 😄 para los devs

Jajajaja el modulo is-even usa is-odd, no mames, para eso lo creamos nosotros mismos.

function isEven(number) {
	return !isOdd(number)
}

O hasta podemos resumirlo:

console.log(!isOdd(number))

gracias a un aporte anterior busqué si aún is-odd sigue vigente pero no ahora el paquete que hace esta operación es is-odd-num
Returns true if the given number is odd, and is an integer that does not exceed the JavaScript MAXIMUM_SAFE_INTEGER.
Se instala de la siguiente forma:

$ npm install --save is-odd-num

Se puede usar con strings o numeros

const isOdd = require('is-odd-num');

console.log(isOdd('1')); //=> true
console.log(isOdd('3')); //=> true

console.log(isOdd(0)); //=> false
console.log(isOdd(2)); //=> false
<code> 

de los mejores cursos que he visto hasta ahora en platzi

Para que puedan hacer el mismo ejemplo del profesor, les digo que el paquete is-odd ya no existe, pero existe otro el cuál se llama isoddmaster el cual ya hasta compara si es impar o par.
Lo instalas con el siguiente comando:

npm install isoddmaster

Y lo utilizas de la siguiente manera:

const isOdd = require("isoddmaster");

console.log(isOdd(7));
console.log(isOdd("8"));

Nota: Probablemente, en un tiempo hasta deje de existir este paquete, así que te animo a buscar uno por tu cuenta persona del futuro. :3

Gran clase y gran profesor.

Además del curso de NPM de la plataforma que han comentado, dejo otro grandísimo complemento cortesía del gran Manz.

NPM en lenguajejs.com

Un saludo.

**package.json: conitene toda la información de tu paquete **

a quien se le hay ocurrido el modulo is-even, es un genio!!!
no domina el mundo porque no quiere…xD

is-odd valida si es impar! jejejej

Muy bien explicado, aprovechando el #PlatziDay 💪💪 #Nuncaparesdeaprender

QUE BUENA CLASE!

Tenemos módulos para todo

Explicado perfecto.

Jajaja qué chistoso la negación de lo último 😄

Jajjajajaj muero con esto, me hizo la tarde

Es increíble la variedad de módulos que hay, solo aguas ⚠!! algunos tienen bugs y pueden provocar vulnerabilidades. Es algo que debemos tener en cuenta.

Por cierto hay un curso completo de este tema, que es excelente
https://platzi.com/clases/npm/

const isOdd = require('is-odd');

console.log(isOdd(2));