Introducción a node.js y express
npm
Existe una gran red de desarrolladores de paquetes para node.js que son ofrecidos y puestos a disposición de los programadores a través del gestor de paquetes npm.
npm consiste de dos partes principales:
- una herramienta CLI (interfaz de línea de comandos) para la publicación y descarga de paquetes
- un repositorio en línea que alberga los paquetes de JavaScript
Cada proyecto en node.js puede ser enfocado como un paquete npm con su propia información de paquete y su archivo package.json para describirlo.
El archivo package.json se generará cuando se ejecute npm init para inicializar un proyecto node.js, con estos metadatos básicos proporcionados por los desarrolladores:
- name: el nombre de tu librería/proyecto node.js
- version: la versión del proyecto.
- description: la descripción del proyecto
- license: la licencia del proyecto
Si se van a utilizar paquetes de programadores externos, por ejemplo, express, deben ser añadidos al proyecto como dependencias mediante el comando npm install.
$ npm init $ npm install express
El siguiente es un ejemplo del archivo package.json con el paquete express añadido:
{ "name": "prueba", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "express": "^4.17.1", } }
La entrada main indica cual es el archivo js de inicio del proyecto.
Los posibles signos que pueden aparecer antes de las de los paquetes tienen el siguiente significado:
- ^: último lanzamiento menor. Por ejemplo, una especificación ^1.0.4 podría instalar la versión 1.3.0 si es la última versión menor de la serie mayor 1.
- ~: última versión del parche. De la misma manera que ^ para las versiones menores, la especificación ~1.0.4 podría instalar la versión 1.0.7 si es la última versión menor de la serie menor 1.0.
Todas estas versiones exactas del paquete se documentarán en un archivo generado package-lock.json que veremos en la carpeta del proyecto tras ejecutar npm init. Este archivo no está pensado para ser leído línea por línea por los desarrolladores, y es creado y gestionado de forma automática cuando se hace uso de npm.