0Pricing
TypeScript Academy · Aula

@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/node

Globais 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

  1. @types/node, ESM versus CJS no Node
  2. Opções de execução (ts-node/tsx) e mapas de origem
← Voltar para TypeScript Academy