ts-node-dev para TypeScript: guía completa con ejemplos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

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

Recommendations