En esta sección, aprenderemos cómo compilar archivos TypeScript (.ts) en archivos JavaScript (.js). La compilación es un paso crucial en el flujo de trabajo de TypeScript, ya que los navegadores y entornos de ejecución como Node.js no entienden TypeScript directamente; necesitan JavaScript.
- Instalación de TypeScript
Antes de compilar, asegúrate de tener TypeScript instalado. Puedes instalarlo globalmente usando npm (Node Package Manager):
Para verificar que la instalación fue exitosa, ejecuta:
- Compilación Básica
2.1. Compilación de un Solo Archivo
Para compilar un archivo TypeScript, usa el comando tsc seguido del nombre del archivo:
Esto generará un archivo archivo.js en el mismo directorio.
Ejemplo Práctico
Supongamos que tienes un archivo hello.ts con el siguiente contenido:
Para compilar este archivo, ejecuta:
Esto generará un archivo hello.js con el siguiente contenido:
2.2. Compilación de Múltiples Archivos
Puedes compilar múltiples archivos a la vez especificándolos en el comando:
- Configuración del Compilador con
tsconfig.json
tsconfig.jsonPara proyectos más grandes, es conveniente usar un archivo de configuración tsconfig.json. Este archivo permite definir opciones de compilación y especificar los archivos a compilar.
3.1. Creación de tsconfig.json
Puedes crear un archivo tsconfig.json en el directorio raíz de tu proyecto ejecutando:
Esto generará un archivo tsconfig.json con una configuración predeterminada.
3.2. Ejemplo de tsconfig.json
Aquí tienes un ejemplo básico de tsconfig.json:
{
"compilerOptions": {
"target": "es5", // Versión de JavaScript a la que se compilará
"module": "commonjs", // Sistema de módulos a utilizar
"strict": true, // Habilita todas las verificaciones estrictas
"outDir": "./dist", // Directorio de salida para los archivos compilados
"rootDir": "./src" // Directorio raíz de los archivos fuente
},
"include": [
"src/**/*" // Archivos a incluir en la compilación
],
"exclude": [
"node_modules" // Archivos a excluir de la compilación
]
}3.3. Compilación Usando tsconfig.json
Una vez que tienes un tsconfig.json, puedes compilar tu proyecto simplemente ejecutando:
El compilador TypeScript leerá las opciones del archivo tsconfig.json y compilará los archivos especificados.
- Opciones Comunes del Compilador
Aquí hay algunas opciones comunes que puedes usar en tsconfig.json:
| Opción | Descripción |
|---|---|
target |
Especifica la versión de JavaScript a la que se compilará (e.g., es5, es6). |
module |
Define el sistema de módulos a utilizar (e.g., commonjs, es6). |
strict |
Habilita todas las verificaciones estrictas. |
outDir |
Directorio de salida para los archivos compilados. |
rootDir |
Directorio raíz de los archivos fuente. |
sourceMap |
Genera archivos .map para depuración. |
noImplicitAny |
Lanza un error cuando un tipo no puede ser inferido como any. |
- Ejercicio Práctico
Ejercicio
-
Crea un archivo
greet.tscon el siguiente contenido:function greet(name: string): string { return `Hello, ${name}!`; } let user = "World"; console.log(greet(user)); -
Compila el archivo usando el comando
tsc. -
Ejecuta el archivo compilado
greet.jsusando Node.js:node greet.js
Solución
-
Crea el archivo
greet.tscon el contenido proporcionado. -
Compila el archivo:
tsc greet.ts -
Ejecuta el archivo compilado:
node greet.js
Deberías ver la salida:
Conclusión
En esta sección, aprendiste cómo compilar archivos TypeScript a JavaScript usando el comando tsc y cómo configurar el compilador con un archivo tsconfig.json. La compilación es un paso esencial en el desarrollo con TypeScript, y dominar estas herramientas te permitirá trabajar de manera más eficiente en proyectos de cualquier tamaño.
En el próximo módulo, profundizaremos en los tipos y cómo trabajar con ellos en TypeScript. ¡Sigue adelante!
Curso de TypeScript
Módulo 1: Introducción a TypeScript
- ¿Qué es TypeScript?
- Configuración del Entorno de TypeScript
- Tipos Básicos
- Anotaciones de Tipo
- Compilando TypeScript
Módulo 2: Trabajando con Tipos
Módulo 3: Tipos Avanzados
Módulo 4: Funciones y Módulos
- Tipos de Función
- Parámetros Opcionales y Predeterminados
- Parámetros Rest
- Módulos y Espacios de Nombres
- Decoradores
Módulo 5: Programación Asíncrona
Módulo 6: Herramientas y Mejores Prácticas
- Linting y Formateo
- Pruebas de Código TypeScript
- TypeScript con Webpack
- TypeScript con React
- Mejores Prácticas
