Apariencia
❌ No imprime nada (el .js estaba desactualizado)
TypeScript · 2026-07-11 · Variable_base
🔴 Qué pasó
❯ tsc main.ts # (con el archivo aún vacío)
❯ node main.js # ...no imprime nadaEscribí console.log("Hola, TypeScript! Mundo"); en main.ts, guardé, corrí node main.js y no salía nada, aunque el código estaba bien.
🔍 Causa
Comparando las horas de los archivos:
| Archivo | Guardado |
|---|---|
main.ts (mi código) | 10:28 ← recién escrito |
main.js (compilado) | 10:26 ← 2 min ANTES |
Compilé cuando el .ts estaba vacío → generó un main.js con solo "use strict";. Después escribí el console.log pero nunca volví a compilar, así que node ejecutó el .js viejo y vacío.
✅ Solución
Recompilar SIEMPRE después de editar el .ts, y recién ahí ejecutar:
bash
tsc main.ts && node main.jsEl && obliga a compilar antes de correr, así el .js nunca queda desactualizado.
⚠️
tscno recompila solo. Cada cambio en el.tsnecesita un nuevotsc. Elconsole.logno fallaba: Node corría una versión vieja del archivo.
💡 Más adelante:
tsc --watchrecompila automático al guardar.
🔁 Variante: editar SIN guardar
Me pasó también lo contrario: escribí líneas nuevas en el editor, compilé, y seguían sin salir. Causa: tsc lee el archivo guardado en disco, no lo que se ve en VS Code. Había editado pero no había hecho Cmd + S, así que compilé la versión vieja.
El ciclo completo son 3 pasos:
1. Guardar → Cmd + S
2. Compilar → tsc main.ts
3. Ejecutar → node main.js⚠️ En la pestaña de VS Code: ✕ = guardado · ● (punto) = cambios sin guardar.
🧑🏫 Solución permanente: activar File → Auto Save para no depender de acordarme.