0Pricing
TypeScript Academy · Lección

Estrategia de conversión archivo por archivo

Cambie .js a .ts progresivamente sin romper nada.

Estrategia de conversión archivo por archivo es una lección gratuita de TypeScript Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de TypeScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de TypeScript Academy incluye 4 lecciones en total.

El enfoque incremental

La conversión archivo por archivo cambia el nombre de un .js a .ts cada vez y corrige los errores de tipos sobre la marcha. Así, el proyecto sigue compilando en cada paso.

# Step 1: rename
mv src/utils.js src/utils.ts
# Step 2: fix errors
npx tsc --noEmit
# Step 3: commit and repeat

Elegir por dónde empezar

Comience por los módulos hoja, es decir, los archivos que no importan otros archivos del proyecto. De este modo, no tendrá que satisfacer primero dependencias de TypeScript posteriores.

# Find files with fewest imports from other project files:
grep -r "from './" src --include="*.js" | sort | uniq -c | sort -n
# Convert lowest-count files first

Gestionar errores de any implícito

Cuando se cambia el nombre de un archivo JS a .ts, los parámetros sin tipos se convierten en errores de any implícito si noImplicitAny: true. Añada tipos explícitos o utilice any temporalmente.

// Before: JS
function process(data) { return data.value; }

// After: TS (add annotation)
function process(data: { value: string }) { return data.value; }
// Or temporarily:
function process(data: any) { return data.value; }

Suprimir errores temporalmente

Utilice // @ts-ignore en las líneas difíciles de corregir y regístrelas como tareas pendientes para no olvidarlas.

// TODO: type this properly in follow-up PR
// @ts-ignore
const result = complexLegacyFunction(x);

Actualizar las instrucciones de importación

Cuando un archivo pasa a ser .ts, puede ser necesario actualizar las importaciones de los módulos que lo utilizan. TypeScript resuelve automáticamente los archivos .ts sin extensiones en las rutas de importación.

// No extension needed — TypeScript finds .ts
import { process } from "./utils";

Convertir require de terceros

Durante la conversión, sustituya las llamadas CommonJS a require por la sintaxis import de los módulos ES para adaptarse a la resolución de módulos de TypeScript.

// Before: CommonJS
const fs = require("fs");
// After: ES module
import fs from "fs";

Progresión del modo estricto

Habilite gradualmente las opciones estrictas por archivo mediante comentarios // @ts-strict-ignore por archivo o migrando a un tsconfig independiente con el modo estricto habilitado.

// tsconfig.strict.json — points to converted files only
{
  "extends": "./tsconfig.json",
  "compilerOptions": { "strict": true },
  "include": ["src/converted/**/*"]
}

Realizar un seguimiento de los archivos restantes

Mantenga una lista de comprobación o utilice un script para contar los archivos .js restantes y realizar un seguimiento del progreso de la migración con el tiempo.

find src -name "*.js" | wc -l   # remaining JS files
find src -name "*.ts" | wc -l   # converted TS files

Evitar PR grandes

Convierta un archivo por PR para que las revisiones sean manejables. Las migraciones grandes a TypeScript son más fáciles de revisar y revertir cuando se limitan a archivos individuales.

# Good: one file per PR
# Bad: 50 files renamed in one PR

Ejecutar pruebas después de cada conversión

Ejecute el conjunto de pruebas después de convertir cada archivo para detectar regresiones en tiempo de ejecución que el comprobador de tipos de TypeScript podría no detectar.

npm test
# Ensure all tests pass after each .js → .ts rename

Resumen: estrategia archivo por archivo

Convierta primero los archivos hoja, corrija o suprima los errores, mantenga el proyecto compilando en cada paso, haga un seguimiento de los archivos JS restantes y envíe un archivo por PR para facilitar las revisiones.

Comprobación rápida

¿Qué archivos debería convertir primero a TypeScript en una migración archivo por archivo?

Lo que ha aprendido

Migración archivo por archivo: comience por los módulos hoja, cambie el nombre a .ts, corrija o suprima los errores, mantenga el proyecto compilando y realice un seguimiento del progreso. Las conversiones pequeñas por PR hacen que la migración sea segura y fácil de revisar.

Preguntas frecuentes

¿La lección «Estrategia de conversión archivo por archivo» es gratis?

Sí — el texto completo de «Estrategia de conversión archivo por archivo» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de TypeScript Academy, actualiza a CoddyKit PRO. El curso de TypeScript Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Estrategia de conversión archivo por archivo»?

Cambie .js a .ts progresivamente sin romper nada. Practicas TypeScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar TypeScript Academy?

No se requiere experiencia previa. TypeScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Estrategia de conversión archivo por archivo»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de TypeScript Academy?

Sí. Cada lección de TypeScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Inicio de la migración: allowJs y checkJs
  2. Anotaciones de tipos JSDoc como puente
  3. Estrategia de conversión archivo por archivo
  4. Cómo trabajar con bibliotecas de terceros sin tipos
← Volver a TypeScript Academy