Servidor Express con TypeScript: Configuración y Primeros Pasos
Clase 8 de 17 • Curso de Server Side Render o SSR con React.js
Resumen
¿Cómo implementar un servidor con Express y TypeScript?
Bienvenido a un emocionante viaje de aprendizaje sobre cómo implementar un servidor con Express y TypeScript. Aquí aprenderás desde lo más básico hasta cómo puedes mejorar la experiencia de desarrollo utilizando características de TypeScript y algún que otro paquete útil. ¡Vamos a sumergirnos!
¿Cómo instalar Express y sus tipos en TypeScript?
Para iniciar, es importante instalar Express como una dependencia de producción. Esto nos ayudará a tener un servidor básico funcionando. Además, aprovecharemos las ventajas de TypeScript al importar los tipos necesarios, en este caso, request
y response
de Express.
import express, { Request, Response } from 'express';
¿Cómo crear un aplicativo básico de Express?
La creación de un servidor de Express es sencilla. El primer paso es instanciar una aplicación Express. TypeScript nos ofrece la opción de definir el tipo de la aplicación, lo que proporciona una sintaxis clara y nos ayuda a prevenir errores.
const app: express.Application = express();
Posteriormente, configuramos una ruta básica para que responda con un mensaje cuando se haga una solicitud al servidor.
app.get('/', (req: Request, res: Response) => {
res.send('Hola');
});
¿Cómo escuchar en un puerto específico?
Para que nuestro servidor esté disponible, configuramos Express para escuchar en un puerto específico. Esto se puede hacer de la siguiente manera:
app.listen(3500, () => {
console.log('Listening on http://localhost:3500');
});
¿Cómo mejorar la experiencia con TypeScript?
Aunque Express ya incluye sus tipos, a veces requerimos más tipados para nuestro entorno de desarrollo. Aquí es donde entran las dependencias de desarrollo para tipos adicionales, como @types/express
y @types/node
:
yarn add -D @types/express @types/node
¿Cómo configurar variables de entorno usando .env?
Para administrar configuraciones como puertos de manera más eficiente, utilizamos variables de entorno, cargadas a través de la biblioteca dotenv
.
- Creamos un archivo llamado
.env
donde almacenaremos nuestras variables. - Creamos un archivo de configuración que importe y configure dotenv, exportando las variables necesarias.
import dotenv from 'dotenv';
dotenv.config();
export const config = {
port: process.env.PORT || 3500,
};
- Integrar esta configuración en nuestro servidor:
import { config } from './config/index';
app.listen(config.port, () => {
console.log(`Listening on http://localhost:${config.port}`);
});
¿Cómo mejorar el renderizado del lado del servidor?
Para hacer el renderizado del lado del servidor más dinámico, configuramos una respuesta que envíe HTML con una estructura simple. Aunque inicialmente se envía una simple etiqueta H1, sabemos que el enfoque completo debe consistir en enviar documentos HTML completos.
app.get('*', (req: Request, res: Response) => {
res.send(`<h1>Hola, mundo con ruta: ${req.url}</h1>`);
});
Recomendaciones para continuar aprendiendo
- Documentación oficial de Express: Familiarízate con las funciones y middleware que ofrece esta potente biblioteca.
- Profundiza en el uso de TypeScript: Mejora la tipificación de tus proyectos a través de interfaces y tipos personalizados.
- Explora patrones de diseño en Node.js: Aprender patrones como MVC te ayudará a escalar tus aplicaciones rápidamente.
La creación de un servidor utilizando TypeScript y Express es solo el comienzo. ¡Sigue explorando y mejorando tus habilidades!, cada paso te llevará a un dominio mayor en el desarrollo backend.