Creación de un Servidor Básico con Express.js en Node.js
Clase 74 de 84 • Curso Gratis de Programación Básica
Resumen
Crear tu primer servidor web, o servidor HTTP, con NodeJS es súper sencillo. Para esto utilizaremos una de las librerías más populares de NPM como lo es Express.js.
¿Qué es ExpressJS?
Una de las dependencias más antiguas, pero completamente vigente y recomendada, para trabajar con aplicaciones web en NodeJS es Express.js. La misma te permitirá, en pocas líneas de código, exponer tu primer servidor web y crear tu primera API.
Consejos sobre NPM
Siempre que instales una dependencia de terceros que se encuentren en NPM, te aconsejo que ingreses a su respectiva página para obtener más información de la librería.

La página de ExpressJS en NPM indica que la mismo posee más de 24 millones de descargas en la última semana. Además de encontrar más información como el repositorio en GitHub y ejemplos básicos de instalación y uso de la librería, licencia, entre otros datos.
Como todo el código de NPM es público, te encontrarás con miles y miles de librerías deprecadas (viejas) o de dudosa procedencia. Es aconsejable que aprendas a analizar qué librerías utilizar y cuáles no convenga utilizar, ya que no tiene mantenimiento o muy poca gente la utiliza.
Hola Mundo con ExpressJS
Así como ya has realizado el “Hola Mundo” con NodeJS, es momento de hacerlo con ExpressJS.
Paso 1: Instalación de ExpressJS
Levantar tu primer servidor y exponer una API con ExpressJS es súper sencillo. Comienza instalando la librería de NodeJS utilizando el comando npm i express
. En cuestión de segundos, tendrás disponible la utilización de esta librería en tu proyecto.
Tal vez te llame la atención la creación de un directorio en tu proyecto llamado node_modules
. Dentro de esta carpeta, encontrarás muchas otras. Cada una de ellas hace referencia a una dependencia distinta y entre ellas, seguro encontrarás a ExpressJS.
También observa el archivo package.json
, en la sección dependencies
, se listarán cada una de las dependencias que tu proyecto utiliza con su respectiva versión.
{
...
"dependencies": {
"express": "^4.18.1"
}
}
Paso 2: Implementado el servidor con ExpressJS
En la propia página de ExpressJS, o de cualquier tecnología, encontrarás muy buena documentación de cómo empezar a usar la misma.
Será importante, a lo largo de tu carrera como programador, que aprendas a buscar esta documentación y apoyarte de ella para aprender a utilizar una librería o una tecnología.
A continuación, observemos el siguiente código de Javascript que puedes utilizar en el archivo index.js
de tu aplicación.
// Importamos Express desde la carpeta node_modules
const express = require('express');
// Creamos la aplicación de Express
const app = express();
// Escojemos un puerto por el que el servidor web escuchará
const port = 3000;
// Página para visualizar el mensaje "¡Hola Express!"
app.get('/', (req, res) => {
res.send('¡Hola Express!');
});
// Activamos el servidor en el puerto 3000
app.listen(port, () => {
console.log(`¡Servidor listo!`);
});
¿Qué es un puerto?
Puedes entender el concepto de “puertos” en un computador como una puerta identificada por un determinado número por la cual es posible enviar y recibir información de un sistema o subsistema hacia otro.
En este ejemplo estamos utilizando el puerto 3000. Puedes utilizar el que tú quieras desde el número 1024 hasta el 65536. De momento no es relevante el porqué de este rango de números.
Paso 3: Ejecutando el servidor
Luego de haber instalado la librería de Express y haber preparado el código para levantar un servidor web, es momento de ejecutarlo con el comando node index.js
.
En cuestión de segundos, tu servidor estará escuchando en el puerto 3000. Esto quiere decir que si ingresas a http://localhost:3000/
, en cualquier navegador web, podrás observar el mensaje ¡Hola Express!
.
Eso nos indica que has logrado levantar tu primer servidor web. ¡Felicidades!
Conclusión
Así de sencillo es instalar dependencias y usarlas. Aún puede parecerte poco intuitivo todo lo que hemos realizado en esta clase, pero te aseguro que en poco tiempo serán tareas triviales de todos los días, la instalación de librerías, la lectura de su documentación para aprender a utilizarlas y su correcta implementación en tu código.
Contribución creada por: Kevin Fiorentino (Platzi Contributor).