Um módulo nada mais é do que um arquivo com extensão .ts em que declaramos
funções, objetos ou outros, de forma a grupá-los por responsabilidade.
Exemplo 1
script.ts - Nosso script principal em que o módulo será importado. Main.ts
script2.ts - Nosso módulo
No exemplo acima, temos um módulo chamado script.ts e um segundo módulo
script2.ts. Ambos são responsáveis por armazenar os seus recursos
individuais de acordo com suas responsabilidades.
No exemplo abaixo, temos já os arquivos script2.ts codificados para exemplificar
a criação do módulo(script2.ts).
Exemplo 2
//script2.ts
//visíve para importação
export let CONSTANTE:number = 1;
//não visível para importação
let variavel:number = 2;
//visível para importação
export function funcao(p:number):number{
return p;
}
//não visível para importação
function funcao2(p:number):number{
return p;
}
//visível para importação
export class classe{
public atributo:number = -1;
}
Para que um recurso declarado em um módulo possa ser importado, utilizamos a palavra
reservada export. Dessa forma, tormamos esses recursos públicos ou
privados(sem o uso do export), de acordo com necessidade de suas visibilidades
para o restante de nossas aplicações.
Sintaxe
export function nome_funcao(parametros):tipo_retorno { /*corpo */}
export class nome_classe { /*corpo*/}
export let nome_variavel:tipo_dado = valor;
export NOME_CONSTANTE:tipo_dado = valor;
Na sintaxe acima, apenas foram mostrados alguns recursos que podem ser importados
não sendo esses os únicos, enumeradores, coleções, função anônimas entre outros
recursos podem ser importados.