馃敟 MODULES, TYPESCRIPT MODULES (M脫DULOS EN TYPESCRIPT)

Hay tres factores a considerar cuando escribimos m贸dulos en TypeScript.

  • La syntaxis: Que sintaxis quiero utilizar para importar/exportar cosas.
  • La resolucion del m贸dulo: 驴Cu谩l es la relaci贸n entre los nombres de los m贸dulos (o sus rutas) y los archivos en disco?
  • M贸dulo de salida objetivo: 驴C贸mo deber铆a lucir el archivo JavaScript generado por mi m贸dulo?

Sintaxis de ES

// @filename: hola-mundo.js
export default function holaMundo() {
    console.log('Hola, Mundo!')
}

Despu茅s esto se importa de esta forma:

import hola from './hola-mundo.js'

Adem谩s de la expresi贸n default export, podemos exportar mas variables, funciones, clases, types, etc. utilizando export adicionales omitiendo la palabra default.

// @filename: math.js
export const pi = 3.1416
export default class MiClase {}

Esto puede ser utilizado en otro m贸dulo de la siguiente forma:

import { pi } from './math'

Uso de aliases

Tambi茅n es posible utilizar un alias al momento de importar desde otros m贸dulos.

import { pi as valorDePi } from './math'

Se pueden combinar estas formas de importar.

import MiClase, { pi } from './math'

O incluso se pueden importar todos los elementos exportables dentro de otro contenedor o namespace.

import * as math from './math'

console.log(math.pi) // <- 3.1416

Un caso mas es cuando importamos un m贸dulo sin utilizar ninguno de los elementos que lo componen.

import './math'