Inicio de la migración: allowJs y checkJs
Habilite la comprobación de TypeScript en un proyecto de JavaScript.
Inicio de la migración: allowJs y checkJs es una lección gratuita de TypeScript Academy en CoddyKit. Esta es la lección 1 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 desafío de la migración
Migrar de una sola vez una base de código JavaScript grande a TypeScript es arriesgado. El enfoque incremental consiste en habilitar TypeScript gradualmente, archivo por archivo, mientras se mantiene el proyecto funcional.
# Key compiler flags for gradual migration:
# allowJs — allow .js files in the compilation
# checkJs — type-check .js files with JSDoc typesPaso 1: Instalar TypeScript
Añada TypeScript al proyecto y cree inicialmente un tsconfig mínimo sin el modo estricto.
npm install --save-dev typescript
npx tsc --init
# Edit tsconfig.json to set allowJs: trueallowJs: true
Con allowJs: true, TypeScript incluye los archivos .js en la compilación. La comprobación de tipos es permisiva: la mayoría del código JavaScript se compilará sin errores.
{
"compilerOptions": {
"allowJs": true,
"outDir": "./dist",
"target": "ES2020"
},
"include": ["src"]
}checkJs: true
checkJs: true habilita la comprobación de tipos en los archivos JavaScript mediante tipos inferidos y anotaciones JSDoc. Permite detectar errores evidentes sin exigir la conversión a .ts.
{
"compilerOptions": {
"allowJs": true,
"checkJs": true
}
}Suprimir errores con @ts-nocheck
Añada // @ts-nocheck al principio de los archivos JS problemáticos para suprimir todos los errores de TypeScript mientras trabaja gradualmente en la migración.
// @ts-nocheck
// This file is not yet migrated — errors suppressed
function legacyUtil(x) { return x.foo.bar; }Supresión de errores por línea
Utilice // @ts-ignore para suprimir el error de una sola línea sin deshabilitar la comprobación de todo el archivo.
const result = legacyFn(value); // @ts-ignore
// Only this line's error is suppressedmaxNodeModuleJsDepth
De forma predeterminada, TypeScript comprueba únicamente los archivos JS del proyecto. Establezca maxNodeModuleJsDepth para controlar hasta qué profundidad comprueba el código JS de node_modules.
{
"compilerOptions": {
"maxNodeModuleJsDepth": 1 // Check 1 level deep in node_modules
}
}Compilar JS en dist
Con allowJs, el compilador de TypeScript también puede transpilar archivos JS, lo que resulta útil para aplicar polyfills y dirigirse uniformemente a entornos antiguos.
tsc
# Compiles both .ts and .js files to dist/Medir el progreso
Realice un seguimiento del progreso de la migración contando los archivos .js y .ts. Establezca un objetivo para el porcentaje que se convertirá en cada sprint.
find src -name "*.ts" | wc -l # TypeScript files
find src -name "*.js" | wc -l # JavaScript files remainingEvitar la regresión de tipos
Mantenga inicialmente noImplicitAny: false para que los archivos JS existentes no se llenen de errores. Habilítelo después de convertir cada archivo a TypeScript.
{
"compilerOptions": {
"allowJs": true,
"noImplicitAny": false // Relax for JS files; enable per .ts file
}
}Resumen: iniciar la migración
Inicie la migración con allowJs: true y checkJs: true, utilice @ts-nocheck para los archivos que aún no estén preparados y realice un seguimiento del progreso contando archivos. Este enfoque mantiene el proyecto compilando mientras convierte los archivos de forma incremental.
Comprobación rápida
¿Qué hace checkJs: true sin exigir la conversión de .js a .ts?
Lo que ha aprendido
Inicie la migración de JS→TS con allowJs: true y, opcionalmente, checkJs: true. Utilice @ts-nocheck para silenciar los archivos que aún no estén preparados y conviértalos de forma incremental mientras realiza un seguimiento del progreso contando archivos.
Preguntas frecuentes
¿La lección «Inicio de la migración: allowJs y checkJs» es gratis?
Sí — el texto completo de «Inicio de la migración: allowJs y checkJs» 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 «Inicio de la migración: allowJs y checkJs»?
Habilite la comprobación de TypeScript en un proyecto de JavaScript. 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 1 de 4.
¿Cuánto tiempo toma la lección «Inicio de la migración: allowJs y checkJs»?
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
- Inicio de la migración: allowJs y checkJs
- Anotaciones de tipos JSDoc como puente
- Estrategia de conversión archivo por archivo
- Cómo trabajar con bibliotecas de terceros sin tipos