Express es un framework muy popular en el ecosistema de Node y JavaScript del lado del servidor.
Casi todo programador lo conoce y muchísimas pilas o paradigmas de programación lo integran, pues es un framework para la web.
En este post vamos a ver cómo:
Con esto tendremos una plantilla base para un servidor ligero que responda peticiones HTTP.
Comienza instalando Node.JS o actualizando el NPM que ya tienes.
Si todavía no tienes un proyecto con Node, inicia uno con:
npm init
Rellena los datos que se te pidan y confirma los mismos.
Después de eso (o si ya tenías un proyecto) instala el framework express con:
npm install --save express
En la carpeta de tu proyecto crea un archivo llamado index.js y dentro del mismo coloca el siguiente código:
const express = require("express"),
path = require("path"),
app = express(),
puerto = 3000;
app.get('/', (peticion, respuesta) => {
// Podemos acceder a la petición HTTP
let agenteDeUsuario = peticion.header("user-agent");
respuesta.send("La ruta / solicitada con: " + agenteDeUsuario);
});
app.get('/pagina', (peticion, respuesta) => {
// Servir archivo HTML, o cualquier otro archivo
let rutaDeArchivo = path.join(__dirname, "plantilla.html");
respuesta.sendFile(rutaDeArchivo);
});
app.get('/hola', (peticion, respuesta) => {
let mascota = {
nombre: "Maggie",
edad: 2,
};
respuesta.json(mascota);
});
// Una vez definidas nuestras rutas podemos iniciar el servidor
app.listen(puerto, err => {
if (err) {
// Aquí manejar el error
console.error("Error escuchando: ", err);
return;
}
// Si no se detuvo arriba con el return, entonces todo va bien ;)
console.log(`Escuchando en el puerto :${puerto}`);
});
Comenzamos definiendo el puerto de la app e importando a express.
Después, para configurar las rutas llamamos a la función get
y le pasamos dos argumentos: la ruta y una función que se ejecuta cuando esa ruta es solicitada.
En la función recibimos la petición y la respuesta HTTP, en donde podemos leer datos o escribirlos.
Si quisiéramos configurar otras rutas como post llamaríamos a app.post
de la misma manera que app.get
.
La ruta / escribe una cadena leyendo el user agent de la petición.
En cambio, la ruta /pagina sirve o envía un archivo HTML usando sendFile
.
path.join
sirve para unir o concatenar rutas, proporciona la /
o la \
dependiendo del sistema operativo. __dirname
es el directorio actual.
La ruta /hola envía un JSON, codificando un objeto, usando json
.
En las últimas líneas iniciamos el servidor web y capturamos errores. Si hay un error la mayoría de veces es porque el puerto está ocupado, intenta cambiarlo si eso pasa.
Para ejecutar la app ejecuta el archivo con:
node index.js
Ahora visita en tu navegador web las rutas y verás que responden como es debido:
A partir de esto y de la documentación oficial puedes crear aplicaciones web más poderosas.
En el futuro estaré trayendo más tutoriales sobre Express y programación del lado del servidor con JavaScript.
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…
Esta web usa cookies.
Ver comentarios
excelente tutorial, luego que se lee y se va haciendo el ejercicio se comprende.
Si el contenido te agrada te invito a seguirme y compartir.
Saludos :)