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