Introducción
Node.js ha ganado popularidad por permitir a los desarrolladores escribir aplicaciones del lado del servidor usando JavaScript. Si estás buscando aprender a crear tu primera aplicación con Node.js y Express, esta guía te llevará de cero a un servidor en funcionamiento en minutos.
En este tutorial, te explico los pasos clave para crear una aplicación básica con Node.js y Express, junto con los conceptos que debes entender para dominar esta tecnología.
¿Qué es Node.js y Express?
-
Node.js: es un entorno de ejecución de JavaScript que permite construir aplicaciones del lado del servidor. Su capacidad para manejar miles de conexiones simultáneas lo hace ideal para aplicaciones escalables.
-
Express.js: es un framework para Node.js que simplifica la creación de servidores web. Con Express, puedes manejar fácilmente rutas, peticiones HTTP y middlewares para construir una API o una aplicación web de manera rápida y eficiente.
Conceptos básicos que debes conocer
Para desarrollar con Node.js y Express, es importante entender algunos conceptos:
- Rutas: Definen cómo responde tu aplicación a las solicitudes HTTP. Ejemplos:
GET
,POST
,PUT
, yDELETE
. - Middlewares: Funciones que se ejecutan antes de la respuesta final. Permiten modificar solicitudes, respuestas, o incluso terminar el ciclo de vida de la petición.
- Controladores: Son las funciones que manejan la lógica de negocio de las rutas.
- API REST: Arquitectura que permite a los clientes (navegadores, apps) comunicarse con el servidor a través de métodos HTTP.
- JSON: Formato de intercambio de datos entre el cliente y el servidor.
- NPM: Node Package Manager, usado para instalar librerías externas en Node.js.
Cómo crear tu primera aplicación con Node.js y Express: Paso a Paso
1. Instala Node.js
Instalación desde nvm
Para mas detalle puede consultar Cómo instalar y usar NVM para gestionar versiones de Node.js en Ubuntu y Windows
Instalación desde node source
Antes de instalar cualquier paquete, es importante asegurarnos de que nuestro sistema esté actualizado. Para ello, ejecuta los siguientes comandos en tu terminal:
sudo apt update sudo apt upgrade
Instalar Node.js y NPM: Para instalar la versión 18 de Node.js, puedes ejecutar los siguientes comandos:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs
Después de la instalación, verifica las versiones de Node.js y NPM para asegurarte de que están correctamente instaladas:
node -v
npm -v
2. Inicializa tu proyecto
Abre tu terminal y sigue estos comandos para crear un proyecto:
mkdir express-app cd express-app npm init -y
Esto creará un archivo package.json
que gestionará las dependencias de tu aplicación.
3. Instala Express
Instala Express usando NPM:
npm install express
4. Crea el archivo principal
Crea un archivo llamado index.js
en la carpeta raíz del proyecto y añade lo siguiente:
const express = require('express');
const app = express();
const port = 3000;
// Ruta de prueba
app.get('/', (req, res) => {
res.send('¡Hola Mundo desde Express!');
});
// Iniciar el servidor
app.listen(port, () => {
console.log(`Servidor escuchando en http://localhost:${port}`);
});
5. Ejecuta la aplicación
En la terminal, ejecuta:
node index.js
Esto iniciará tu servidor y podrás acceder a la URL http://localhost:3000/
para ver el mensaje "¡Hola Mundo desde Express!".
6. Añade rutas adicionales
Puedes agregar más rutas para manejar diferentes solicitudes HTTP:
app.post('/saludo', (req, res) => {
res.send('Saludo POST recibido');
});
app.put('/actualizar', (req, res) => {
res.send('Datos actualizados');
});
app.delete('/borrar', (req, res) => {
res.send('Datos borrados');
});
7. Usa middlewares
Para procesar datos JSON, usa el middleware integrado de Express:
app.use(express.json());
8. Maneja errores
Es importante manejar errores en tu aplicación. Aquí te dejo un ejemplo de cómo hacerlo:
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('¡Algo salió mal!');
});
Conclusión
Node.js y Express son una poderosa combinación para crear aplicaciones web. Con esta guía, ya tienes lo básico para construir tu primera aplicación con rutas, middlewares y controladores. Desde aquí, puedes expandir tu proyecto agregando bases de datos, autenticación y más funcionalidades avanzadas.