Boas Práticas de APIs Embutidas
O Node 24 envia a maioria das primitivas que os backends precisam - use módulos node: como padrão, APIs de promessa e padrões de segurança documentados antes de adicionar mais superfície de npm.
Busque em todas as páginas da documentação
O Node 24 envia a maioria das primitivas que os backends precisam - use módulos node: como padrão, APIs de promessa e padrões de segurança documentados antes de adicionar mais superfície de npm.
fetch, test).node: no código da aplicação. node:fs/promises, node:crypto, etc.fs/promises, timers/promises) em vez de callbacks. Use promisify apenas para callbacks de terceiros.fetch global e node:test antes de adicionar node-fetch/Jest para casos simples. Menos dependências.@types/node na major do runtime (24.x). As tipagens correspondem à disponibilidade da API.readFileSync/writeFileSync em caminhos de requisição. Bloqueia o event loop.createReadStream + pipeline. Memória limitada.resolve + verificação de prefixo sob o diretório base.0o600 para segredos escritos em disco. Permissões restritivas.finally ao usar fs.open. Evite vazamentos de EMFILE.randomBytes/randomUUID, nunca Math.random. Apenas CSPRNG.timingSafeEqual em digests de igual comprimento. Não compare strings puras.URL - não o legado url.parse. Use allowlist SSRF no hostname.os.availableParallelism(), não contagem bruta de CPU em contêineres. Consciência correta de vCPU.process.env uma vez no boot com Zod. Configuração imutável após o parse.http embutidos também.unref para ticks de background opcionais. Saída limpa de deploy.util.inspect ao registrar objetos - não JSON.stringify ilimitado. Evite ciclos e dumps de PII.NODE_DEBUG apenas em reprodução de dev/staging. Não permanente em produção.perf_hooks em testes de carga de staging. Correlacione com a latência do usuário.parseEnv, styleText). Evite padrões de blog desatualizados.diagnostics_channel com limpeza em testes. Nenhum vazamento de listener.Quando você precisar de helpers de cópia/remoção recursiva que não estão no core - caso contrário, use fs/promises + mkdir recursive.
Use fetch embutido para chamadas simples; axios/got quando precisar de interceptadores/retries/ajuste de agente - ADR opcional.
crypto.randomUUID cobre a maioria dos casos de ID - use o pacote uuid npm apenas para formatos não-v4.
Use --env-file do Node para dev; injete de plataforma em produção; sempre valide com Zod após o carregamento.
Ambos são aceitáveis com ajuste - escolha um padrão da organização; scrypt nativo reduz dependências.
Não - apenas métricas internas; a saúde pública deve permanecer com status mínimo + versão.
Sim - regras de spawn em Boas Práticas de Processos.
Use subtle para interoperação AES-GCM; HMAC/hashing são frequentemente mais simples em node:crypto.
Use mock do módulo fs ou um diretório temporário com limpeza - não use fs síncrono em testes para manter o hábito de velocidade.
Use node:test para testes unitários; Vitest/Jest quando a equipe precisar de um DX mais rico - ainda é viável usar o embutido no Node 24.
O http embutido é suficiente para probes; Express 5/Fastify 5 para APIs de produto - as APIs embutidas dão base a ambos.
fs e fs/promises nesta seção.
Versões da Stack: Esta página foi escrita para Node.js 24.18.0 (Active LTS), npm 10+, TypeScript 5.6+, Express 5, Fastify 5 e NestJS 11.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026