Cuando descargas una app de la tienda, ves su nombre, versión, descripción y requisitos. Los proyectos Node.js tienen algo similar: un archivo llamado package.json que vive en la raíz del proyecto.
Este archivo no es burocracia — es el contrato de tu proyecto. Le dice a Node, a npm y a cualquier desarrollador que llegue después:
Sin package.json, tu código es solo un montón de archivos sueltos. Con él, es un proyecto.
Ejecuta este comando en la terminal para generarlo:
npm te hará preguntas (nombre, versión, descripción...) y generará el archivo por ti. Si prefieres saltarte las preguntas y usar valores por defecto:
Prueba ejecutar npm init -y ahora en la terminal para ver qué genera.
Un package.json típico se ve así:
Veamos campo por campo:
| Campo | Qué hace |
|---|---|
name | Nombre del proyecto (sin espacios, minúsculas) |
version | Versión actual (formato X.Y.Z) |
description | Descripción breve del proyecto |
main | Archivo de entrada principal |
scripts | Comandos que puedes ejecutar con npm run |
La sección scripts es una de las más poderosas. Te permite definir atajos para comandos que usas frecuentemente:
Después puedes ejecutarlos así:
Un detalle: start y test son scripts especiales que se ejecutan con npm start y npm test (sin run). El resto necesitan npm run nombre.
node index.js?Buena pregunta. En un proyecto pequeño da igual. Pero en proyectos reales, los comandos pueden ser largos y complicados:
¿Prefieres memorizar eso o simplemente escribir npm run dev? Los scripts estandarizan cómo se trabaja. Cualquier persona que llegue al proyecto sabe que npm start lo arranca, sin importar lo complejo que sea el comando por debajo.
npm init en la terminal y rellena los campos (o usa npm init -y para los valores por defecto)package.json generado y añade al menos dos scripts: start y devnpm start en la terminal para verificar que funcionaUn buen package.json es la primera señal de que un proyecto está bien organizado. Es tu carta de presentación como desarrollador.