Desde una terminal o línea de comandos, crea un directorio con el nombre de tu proyecto. Después, como buena práctica, inicia un repositorio local de Git dentro de la carpeta creada.
El símbolo $ representa la línea de entrada para los comandos en la terminal.
Una vez creado el espacio correspondiente al proyecto de JavaScript. Deberás tener un archivo de configuración llamado package.json.
Cómo estructurar un archivo de configuración package.json
El archivo package.json es un archivo de configuración que contiene la información más importante de tu proyecto como: datos específicos, dependencias, dependencias de desarrollo y archivos de ejecución.
Este archivo, como su extensión lo indica, está estructurado en formato JSON (JavaScript Object Notation) que sirve para una mejor lectura e interpretación para los usuarios y las máquinas.
Datos específicos del archivo package.json
Los datos específicos ayudan a identificar el proyecto y actúan como una base para que los usuarios y los contribuidores obtengan información sobre el proyecto.
El archivo package.json estaría estructurado inicialmente por las siguientes propiedades:
"name": Indica el nombre del proyecto.
"version": Indica la versión del proyecto.
"description": Indica una breve descripción del proyecto.
"main": Indica el archivo principal del proyecto.
"scripts": Indica los comandos a ejecutar del proyecto (no te preocupes por el comando test por ahora).
"keywords": Indica las palabras clave del proyecto.
"author": Indica el nombre y dirección de correo electrónico del propietario del proyecto.
"license": Indica la licencia del proyecto.
El archivo package.json estaría estructurado de la siguiente manera:
// archivo package.json{"name":"npm","version":"1.0.0","description":"Constuir un paquete para node","main":"src/index.js","scripts":{"test":"echo \"Error no test specified\" && exit 1"},"keywords":["javascript","node","package"],"author":"TuNombre <tucorreo@gmail.com>","license":"MIT"}
Cómo utilizar el comando npm init
Aunque puedes crear el archivo de configuración manualmente, NPM te ayuda a crearlo rápidamente mediante el comando npm init. Este comando te permite ingresar los datos específicos del proyecto y genera el archivo package.json en tu directorio.
$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npmhelp init`for definitive documentation on these fields
and exactly what they do.
Use `npminstall<pkg>` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (npm)
Puedes ingresar tus propios datos, o utilizar la recomendación de NPM (lo que está entre paréntesis) y solamente dar enter. Al final, te preguntará si la configuración del package.json es correcta para generar el archivo.
version: (1.0.0)description: Constuir un paquete para nodeentry point: (index.js) src/index.js
test command: npmtestgit repository:
keywords: javascript, node, package
author: TuNombre <tucorreo@gmail.com>license: (MIT)About to write to /npm/package.json:
{"name":"npm",
"version":"1.0.0",
"description":"Constuir un paquete para node",
"main":"src/index.js",
"scripts":{"test":"echo \"Error no test specified\" && exit 1"},
"keywords":["javascript",
"node",
"package"],
"author":"TuNombre <tucorreo@gmail.com>",
"license":"MIT"}Is this OK? (yes)
Cómo utilizar el comando npm init --yes
El comando npm init --yes o npm init -y te ayudará a crear un archivo package.json de manera rápida con una configuración por defecto, sin la necesidad de ingresar los datos.
Para establecer esta configuración por defecto, necesitarás utilizar el comando npm config set init-<atributo>. Te comparto algunas de las configuraciones por defecto más comunes:
$ npm config set init-author-name "Tu Nombre"$ npm config set init-author-email "TuEmail@email.com"$ npm config set init-author-url "https://tuWeb.com"$ npm config set init-license "MIT"$ npm config set init-version "0.0.1"
De esta manera ya estás listo para gestionar dependencias de tu proyecto con NPM.
Contribución creada por Andrés Guano (Platzi Contributor).
"name": "npm-init" ---> Podemos ponerle un nombre sin embargo toma por defecto el de la carpeta.
"version": "1.0.0" ---> Podemos cambiar segun el caso, dependiendo un cambio mayor o uno menor
"description":"" ---> Podemos hacer una breve descripcion del proyecto.
"entry point": "(index.js)" ---> Punto de entrada del proyecto.
"test command": ---> Podemos incluir los comandos para validar nuestro codigo.
"git repository": ---> Podemos incluir el repositorio para mantenerlo en la nube
"keywords": ["javascript", "angular", "node"] ---> Que va a utilizar nuestro proyecto.
"author": "Alexa Pulido<pulidoaleXXXXXXX> ---> Persona que crea el proyecto
"license": "MIT" ---> Licencias, la mas utilizada es MIT, permite distribuir nuestro codigo.
i love you! jaja no sabes lo que me han servido tus apuntes, ya perdí la cuenta de los cursos en los que he robado tus apuntes, GRACIAASSSSSSS!!!
Gracias ;3
en mi opinión este curso debería estar mas arriba en la ruta, ya que en cursos pasados vi cosas de node y npm que apenas en este curso estoy despejando dudas, pero excelente curso!
Entonces no será tan complicado como el nuevo curso de Asincronismo (En la parte de XMLHTTPRequest)?
Si usan Windows vayan a la fija e instalen y trabajen todo desde WSL. En el curso de Prework para Windows explican como Instalarlo y configurarlo
x2 bro
Yo uso git bash en el caso window, se me hace mas comodo que el wsl
Recuerdo en que en un Curso mencionaron que al trabajar con Windows a fuerzas se debe de usar WSL2 porque Windows no es muy buen entorno de desarrollo como Mac o Linux
x2, se me malogro WSL de alguna manera que desconozco xd.
Yo uso windows y para seguir los comandos de la clase uso git bash, que es como una terminal de linux pero en windows, pero cada quien que haga lo que mejor le venga
Pudiste avanzar en este proyecto así? Nos estarías ahorrando un paso importate!
Yo también estoy usando git bash y de momento no he tenido problemas.
Para la gente que usa windows les invito a instalar
oh my posh o como indicó Oscar instalar WSL
Es para personalizar la Terminal/Consola?
que liviano se siente este curso, en comparación a los últimos dos jeje
Para los que usan Windows como yo les recomiendo usar WSL
Actualizar Node a la ultima version (ultima version al dia de hoy)
nvm install 18.17.1
Actualizar npm a la ultima version
curl -qL https://www.npmjs.com/install.sh| sh
verificar
npm version
Fuentes
npm
node
freecodecamp
💡 Hola! las dependencias son importantes ya que con estas podemos reutilizar codigo de otros desarroladores de una forma rapida y sencilla, para instalar dependecias podemos hacerlo a travez denpmyyarn
¿Como Instalar una Dependecia?
Para Instalar una dependencia con npm iniciamos con la siguiente forma.
npminstall<nombre de la dependecia>
Dependecias de Desarrollo
Al agregar --save-dev despues del nombre de la dependendecia estamos especificando que solo vamos a utillizar la dependecia en el entorno de desarrollo. Asi mismo podemos utilizar -D despues del nombre de la dependecia
npminstall<nombre de la dependecia> --save-dev
#Tambien podemos utilizarnpminstall<nombre de la dependecia> -D
Dependencias de Producción
Al agregar —-save despues del nombre de la dependecia estamos especificando que es una dependecia que utilizara en producción
npminstall<nombre de la dependecia> --save
Dependencias Globales
Al agregar —gantes del nombre de la dependecia, estamos especificando que la dependecia que estamos instalando esta en el scope global
npminstall -g <nombre de la dependecia>
# COMANDOS
- npm init
- Permite inicializar un proyecto de Node.js.
- npm install
- Dentro del directorio de un proyecto de Node.js, permite instalar las dependencias definidas en el archivo package.json.
- npm install package
- Permite instalar paquetes.
- Ejemplo: npm install express
- npm i package
- Permite instalar paquetes.
- Ejemplo: npm i express
- npm install -g
- Permite instalar paquetes globales.
- Ejemplo: npm install nodemon -g
- npm install --save
- Permite instalar un paquete y guardar el paquete como una dependencia del proyecto.
- Ejemplo: npm install react --save
- npm install -S
- Permite instalar un paquete y guardar el paquete como una dependencia del proyecto.
- Ejemplo: npm install react -S
- npm install -O
- Permite instalar un paquete de manera opcional.
- Ejemplo: npm install eslint -O
- npm install --dry-run
- Permite simular una instalación, pero sin agregar absolutamente nada al proyecto.
- Ejemplo: npm install react-dom --dry-run
- npm install @version
- Permite instalar una determinada versión de un paquete.
- Ejemplo: npm install json-server@0.15.0
- npm install @latest
- Permite instalar la última versión de un paquete.
- npm install /path
- Permite simular la instalación de un paquete de manera local desde la ruta del directorio del proyecto.
- Permite listar los paquetes instalados del proyecto.
- npm list -g
- Permite listar los paquetes instalados globales.
- npm run script
- Permite ejecutar un script de código personalizado en el archivo package.json.
- Ejemplo: npm run migrations
- npx
- Permite ejecutar acciones particulares sin tener que realizar la instalación dentro de la máquina.
- Ejemplo: npx create-react-app my-app
- npm outdated
- Permite ver las dependencias que están desactualizadas.
- npm update package
- Permite actualizar paquetes.
- Ejemplo: npm update react-dom@latest
- npm audit
- Permite ver una descripción de las dependencias instaladas en el proyecto.
- npm audit --json
- Permite ver un informe detallado en formato JSON de las dependencias instaladas en el proyecto.
- npm audit fix
- Permite realizar una actualización de las dependencias del proyecto similar al comando npm update.
- npm audit fix --force
- Permite realizar una actualización de los subpaquetes de cada dependencia de todos los niveles de profundidad.
- npm uninstall package
- Permite desinstalar paquetes.
- Ejemplo: npm uninstall webpack-dev-server
- npm link
- Permite crear un enlace simbólico para reconocer el paquete dentro del listado de NPM.
- npm version
- Permite modificar la versión de un paquete.
- Ejemplo: npm version 1.3.2
- npm publish
- Permite publicar un paquete en el repositorio de NPM.
package.json
Este archivo indica a npm que el directorio en el que se encuentra es en efecto un proyecto o paquete npm. Este archivo contiene la información del paquete incluyendo la descripción del mismo, versión, autor y más importante aún dependencias.
Este archivo es generado automáticamente mediante la ejecución de un script de npm:npm init este script es ejecutado para inicializar un proyecto JavaScript, al ejecutarlo la línea de comandos te hará algunas preguntas para crear el paquete:
$ npm init
This utility will walk you through creating a package.json file.It only covers the most common items, and tries to guess sensible defaults.See`npm help init`for definitive documentation on these fields
and exactly what they do.Use`npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.Press^C at any time to quit.packagename:(test)
Esta utilidad te guiará en el proceso de crear un archivo package.json. Solo cubre los items más comunes y trata de adivinar algunos valores por defecto. Revisa npm help init para documentación más a fondo sobre estos campos y que hacen exactamente. Utiliza npm install <pkg> para instalar paquetes y guardarlos como dependencia en el archivo package.json. Presiona ^C en cualquier momento para cancelar
nombre del paquete: (que-es-npm)
Lo primero que verás al ejecutar npm init es un mensaje como el anterior y la primera pregunta: nombre del paquete: (que-es-npm) que entre paréntesis mostrará el nombre del directorio en el que se está ejecutando como nombre por defecto.
Puedes simplemente presionar Enter en cada una de estas opciones para dejar vació el campo o guardar el valor por defecto que se muestra entre paréntesis.
version: Corresponde a la versión de tu proyecto. Lo ideal es mantener este campo actualizado cuando modificas algo en tu proyecto o librería utilizando por ejemplo semver.
description: Una breve descripción de tu proyecto. Particularmente importante si lo que estás creando es un paquete que publicarás vía npm.
entry point: Define cuál será el punto de "entrada" de tu proyecto. Esto es, que archivo se ejecutará cuando se importe tu proyecto dentro de otro. Nuevamente, especialmente importante para paquetes de librerías.
test command: Aquí puedes definir el comando que quieres ejecutar para realizar las pruebas de tu proyecto, este comando se ejecutará cuando escribas npm run test en tu terminal.
git repository: Define la url del repositorio git en donde este proyecto está alojado, se utiliza para informar a los usuarios de tu paquete el repositorio en donde encontrar el código fuente del proyecto.
author: El nombre e email de quien creó este proyecto.
license: Identifica el tipo de licencia de uso de tu proyecto. Permite a las personas saber que y que no está permitido al usar tu código. Puedes encontrar la lista completa de licencias soportadas por este campo aquí.
private: Es un valor boolean que te permite evitar que tu paquete se publique en el repositorio. Si lo que estás creando es un proyecto personal este valor será true.
Una vez contestadas todas las preguntas y terminado el proceso de inicialización tendrás un nuevo archivo dentro del directorio de tu proyecto: project.json cuyo contenido será similar a este
{"name":"que-es-npm","version":"1.0.0","description":"","main":"index.js","scripts":{"test":"echo \\"Error: no test specified\\" && exit 1"
},"author":"Matias Hernandez <matiasfh@gmail.com> ()","license":"ISC"}
🔰 Archivos del Proyecto 🔰
Pasos 📌
• Ir a la carpeta donde estará el proyecto, se da click derecho y se selecciona “Abrir en una terminal” (con Ubuntu).
◦ Al abrir la terminal, se crea la carpeta npm con el siguiente comando (take: crea la carpeta y entra en ella):
take npm
◦ Se crea el primer mini-proyecto:
take npm-init
◦ Inicializamos el repositorio con git:
git init
◦ Inicializamos el proyecto con:
npm init
◦ Después de dar ENTER, aparecerán instrucciones que pueden editarse, se deja casi todas por defecto, excepto en keywords, en author y en license:
◦ Al final muestra como será el archivo package.json de lo que hemos configurado:
package.json:{"name":"npm-init","version":"1.0.0","description":"","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["javascript","angular","node"],"author":"Maria Rodriguez","license":"MIT"}
◦ Pregunta si estamos de acuerdo con lo que se ha agregado, escribimos: yes y luego ENTER.
◦ Si ejecutamos el comando ls, se muestra el archivo package.json.
◦ Vamos abrir al editor ++VS Code++, ejecutamos el comando:
code .
▪ Se abre el editor y se puede abrir el archivo package.json al dar click al menú izquierdo. Se puede editar directamente el archivo desde ahí.
Hola María como estas? Oye me encantan tus apuntes, me aportan bastante y los uso de apoyo para complementar los míos, me gustaría contactarte para mantener contacto si no te incomoda claro está. Hazme saber si te llegó mi mensaje. Saluditos!!
Les dejo este video de Sacha Lifszyc en un Platzi Live sobre las diferentes licencias que existen para el software:
Ver video
se puede desde git yo lo hago sin problema desde ahi
npm init -y es El comando para la inicializacion de Las confoguraciones por defecto
Recomiendo revisar la documentacion de NPM porque veo en los comentarios sintaxis como init.author.name La descripcion del curso nos dice que es con comandos de tipo init-author-name y la configuracion ocal de NPM me indica que puedo usar el comando de tipo --init-author-name
Recomiendo esta terminal para windows, mac y linux.
Se pueden usar los comandos de de linux aquí:
Para agregar el nombre del autor a la configuración por defecto de NPM, puedes utilizar el siguiente comando:
npm config set init.author.name"Tu Nombre"
Este comando establece el nombre del autor en la configuración del proyecto. Recuerda reemplazar "Tu Nombre" por el nombre que deseas usar. Esta configuración será útil cuando crees nuevos paquetes y te permitirá tener la información correcta en el package.json.
Como configuro el comando en la terminal para que se abra en Visual Studio Code ?