Módulos en TypeScript

Módulos en TypeScript

Descripción: Los módulos en TypeScript son una manera de organizar y encapsular el código, permitiendo dividir el proyecto en diferentes archivos y reutilizar el código. Los módulos permiten que el código sea más mantenible y fácil de gestionar, especialmente en proyectos grandes.

Sintaxis Básica

// mathUtils.ts

// Exportar una función
export function add(x: number, y: number): number {
  return x + y;
}

// Exportar otra función
export function subtract(x: number, y: number): number {
  return x - y;
}

// Exportar una clase
export class Calculator {
  multiply(x: number, y: number): number {
    return x * y;
  }

  divide(x: number, y: number): number {
    if (y === 0) {
      throw new Error("Division by zero");
    }
    return x / y;
  }
}

En este archivo, estamos definiendo y exportando dos funciones (add y subtract) y una clase (Calculator).

Importar y Usar el Módulo

// main.ts

// Importar funciones y clases desde el módulo mathUtils
import { add, subtract, Calculator } from './mathUtils';

const result1 = add(10, 5);
const result2 = subtract(10, 5);
const calculator = new Calculator();
const result3 = calculator.multiply(10, 5);
const result4 = calculator.divide(10, 5);

console.log(result1); // 15
console.log(result2); // 5
console.log(result3); // 50
console.log(result4); // 2

En este archivo, estamos importando las funciones y la clase exportadas desde mathUtils.ts y utilizándolas para realizar algunas operaciones.

Configuración del Proyecto

// tsconfig.json
{
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "outDir": "./dist"
  },
  "include": ["src"],
  "exclude": ["node_modules"]
}

Asegúrate de tener un archivo tsconfig.json configurado para tu proyecto TypeScript.

Compilar y Ejecutar

Compilar el código TypeScript:

npx tsc

Esto generará los archivos JavaScript correspondientes en la carpeta dist.

Ejecutar el código compilado:

node dist/main.js

Explicación del Código

Definición del Módulo (mathUtils.ts):

Uso del Módulo (main.ts):

Ventajas del Uso de Módulos: