@types/node, ESM versus CJS no Node
@types/node fornece tipagens para APIs do Node, e as opções de módulo do tsconfig permitem escolher entre CommonJS e ESM.
@types/node, ESM versus CJS no Node é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 1 de 2. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de TypeScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de TypeScript Academy inclui 2 aulas no total.
Introdução
Objetivo: use @types/node para obter segurança de tipos e configure o TS para CommonJS ou módulos ES.
Instalar definições de tipos
Instale @types/node para obter definições de tipos das APIs integradas do Node, como fs e path.
npm install --save-dev @types/nodeGlobais do Node
Com @types/node, globais como process, __dirname e __filename são reconhecidos com seus tipos.
console.log(process.version);
console.log(__dirname);
console.log(__filename);Exemplo de CJS
CommonJS: padrão no Node. Use require e module.exports.
// CommonJS style
const fs = require("fs");
const data = fs.readFileSync("file.txt", "utf8");
console.log(data);Exemplo de ESM
ESM: sintaxe moderna com import/export. Requer "module": "ESNext" no tsconfig e "type": "module" em package.json.
// ES Module style
import fs from "fs";
const data = fs.readFileSync("file.txt", "utf8");
console.log(data);Módulos do tsconfig
Controle o sistema de módulos em tsconfig.json. Alterne module entre CommonJS e ESNext.
{
"compilerOptions": {
"target": "ES2020",
"module": "CommonJS",
"moduleResolution": "node"
}
}Verificação das definições de tipos
Verificação rápida: por que instalar @types/node?
Recapitulação
Recapitulação: @types/node adiciona definições de tipos. CommonJS usa require, e ESM usa import. O tsconfig define o sistema de módulos.
Perguntas Frequentes
A aula “@types/node, ESM versus CJS no Node” é grátis?
Sim — o texto completo de “@types/node, ESM versus CJS no Node” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de TypeScript Academy, atualize para CoddyKit PRO. O curso de TypeScript Academy inclui 2 aulas no total.
O que vou aprender em “@types/node, ESM versus CJS no Node”?
@types/node fornece tipagens para APIs do Node, e as opções de módulo do tsconfig permitem escolher entre CommonJS e ESM. Você pratica TypeScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar TypeScript Academy?
Nenhuma experiência prévia é necessária. TypeScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 2.
Quanto tempo leva a aula “@types/node, ESM versus CJS no Node”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de TypeScript Academy?
Sim. Cada aula de TypeScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- @types/node, ESM versus CJS no Node
- Opções de execução (ts-node/tsx) e mapas de origem