ts-node-dev para TypeScript: guía completa con ejemplos
¡Bienvenido a PythonLib! En este artículo analizaremos a fondo la librería ts-node-dev, una herramienta indispensable para el desarrollo moderno con TypeScript. Si escribes en TypeScript y estás cansado de recompilar el código manualmente tras cada cambio, este artículo es para ti.
1. ¿Qué es y para qué sirve?
ts-node-dev es una utilidad para TypeScript que proporciona recarga en caliente (hot reload) de tu aplicación. Reinicia automáticamente el proceso de Node.js cuando modificas los archivos fuente de TypeScript. Esto acelera significativamente el desarrollo, ya que no necesitas detener y reiniciar el servidor o script manualmente.
¿Por qué es necesario? Durante el desarrollo, realizas cambios constantes en el código. Sin recarga automática, cada vez tienes que:
- Detener el proceso actual (Ctrl+C)
- Iniciarlo de nuevo (npm start o ts-node)
- Esperar la compilación y el arranque
ts-node-dev resuelve este problema. Monitorea los cambios en los archivos del proyecto y reinicia la aplicación al instante. A diferencia de nodemon (que funciona con JavaScript), ts-node-dev entiende TypeScript y utiliza ts-node internamente para compilar "sobre la marcha". Esto la convierte en la opción ideal para desarrollar servidores, herramientas CLI y cualquier aplicación Node.js con TypeScript.
2. Instalación
La instalación de ts-node-dev se realiza a través de npm (Node Package Manager). Se recomienda instalarla como dependencia de desarrollo, ya que solo se necesita durante el desarrollo.
# Instalación global (no recomendada)
npm install -g ts-node-dev
# Instalación como dependencia de desarrollo en el proyecto (recomendada)
npm install --save-dev ts-node-dev
# O mediante yarn
yarn add --dev ts-node-dev
# O mediante pnpm
pnpm add -D ts-node-dev
Después de la instalación, verifica que todo funcione:
npx ts-node-dev --version
Si ves el número de versión (por ejemplo, 2.0.0), la instalación se ha completado con éxito.
3. Inicio rápido: ejemplo mínimo funcional
Vamos a crear una aplicación TypeScript simple y ejecutarla con ts-node-dev.
Paso 1: Inicialización del proyecto
mkdir my-ts-app
cd my-ts-app
npm init -y
npm install --save-dev typescript ts-node-dev @types/node
npx tsc --init
Paso 2: Crear el archivo src/index.ts
// src/index.ts
const greet = (name: string): string => {
return `¡Hola, ${name}!`;
};
console.log(greet('PythonLib'));
console.log('El servidor está en ejecución...');
// Exportamos algo como ejemplo
export { greet };
Paso 3: Ejecutar con ts-node-dev
npx ts-node-dev --respawn src/index.ts
Deberías ver:
[INFO] 15:30:00 ts-node-dev ver. 2.0.0 (usando ts-node ver. 10.9.1, typescript ver. 5.3.3)
¡Hola, PythonLib!
El servidor está en ejecución...
Ahora modifica el texto del saludo en src/index.ts y guarda el archivo. Verás que el proceso se reinicia automáticamente y muestra el nuevo resultado.
4. Opciones principales
ts-node-dev es una herramienta CLI, no una librería con API. Sin embargo, tiene múltiples opciones (flags) que se pueden considerar como "métodos" de configuración. A continuación, las 8 opciones clave.
4.1 --respawn
Firma: ts-node-dev --respawn [archivo]
Función: Reinicia automáticamente el proceso al modificar cualquier archivo del proyecto. Es la opción principal para la recarga en caliente.
Ejemplo práctico:
npx ts-node-dev --respawn src/index.ts También en la biblioteca
Caché en Rust: Redis, Memcached y soluciones integradas
Cliente OAuth para TypeScript: integración de autorización en aplicaciones web
Trabajo con CSV en Swift (iOS/macOS): bibliotecas y ejemplos
Colas de tareas en Kotlin: Coroutines, KJob y patrones avanzados