Modules
Objetivo: dividir aplicações em múltiplos arquivos para facilitar manutenção.
Export/Import:
export→ disponibiliza funções/valores.import→ usa funções/valores de outro arquivo.
Exemplo:
Configuração no tsconfig.json
O compilador usa a opção
targetemodulepara decidir como gerar código.Node.js suporta CommonJS por padrão.
Versões mais novas (ES2015+) usam
import/exportdiretamente, mas podem dar erro no Node sem configuração extra.
Exemplo de configuração:
Tipos de módulo (opção module)
Valor | Descrição |
|---|---|
none | Desativa módulos. |
commonjs | Padrão do Node.js. |
amd | Usado pelo loader RequireJS. |
system | Usado pelo loader SystemJS. |
umd | Universal, funciona em vários ambientes. |
es2015/es6 | Usa padrão de módulos ES2015 (import/export). |
esnext | Usa recursos de módulos propostos para versões futuras. |
Resolução de módulos
classic → busca módulos apenas no projeto.
node → busca também em
node_modules.Configurado com
moduleResolution: "classic"ou"node".