AULA 44
MÓDULO 6
backend Node.js
⏱ 50 min
Fundamentos do Node.js
Arquitetura Node: V8, libuv, APIs nativas. CommonJS vs ESM. Worker Threads. Módulos nativos: path, crypto, os.
Node.jsV8libuvCommonJSESMWorker Threadspathcrypto
Arquitetura do Node.js
Node.js combina o motor V8 (executa JS), libuv (event loop e I/O assíncrono) e bibliotecas nativas (fs, http, crypto). Essa combinação entrega alta performance com uma única thread.
⚡
V8 Engine
Compila JS para código de máquina. Google Chrome. Extremamente rápido.
🔄
libuv
Event loop + thread pool. I/O assíncrono. Abstrai SO.
📦
Node APIs
fs, http, crypto, path, buffer. Módulos nativos de sistema.
Worker threads
Para CPU-intensive tasks (processamento de imagem, criptografia pesada), Node tem Worker Threads — threads reais para não bloquear o event loop.Sistema de módulos
Node tem dois sistemas de módulos: CommonJS (CJS) com require/module.exports e ES Modules (ESM) com import/export. Projetos novos usam ESM; ainda há muito CJS em produção.
npm workspaces e monorepo
Projetos modernos usam monorepos (Turborepo, NX) com workspaces npm. Um package.json raiz, múltiplos packages com código compartilhado. Escalável para times grandes.
javascript
// CommonJS vs ESM — os dois sistemas de módulos // CommonJS (CJS) — ainda dominante const fs = require('fs') module.exports = { myFunction } // ES Modules (ESM) — futuro do Node // import fs from 'fs' // export const myFunction = () => {...} // Módulos nativos essenciais const path = require('path') const crypto = require('crypto') const os = require('os') // path — robusto e cross-platform const dir = path.join(__dirname, 'assets', 'images') // crypto — gerar IDs únicos const id = crypto.randomUUID() // "d2c9b..." // os — informações do sistema console.log('CPUs:', os.cpus().length, 'RAM:', os.freemem())
quiz · aula 44
Teste seus conhecimentos
0/3 respondidas
QUESTÃO 01
O que é o libuv?
QUESTÃO 02
Qual é a diferença entre CommonJS e ES Modules?
QUESTÃO 03
Para que servem Worker Threads?
0/3