Biblioteca Padrão JavaScript (Node.js): Visão Geral Completa

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Biblioteca Padrão JavaScript (Node.js): Visão Geral Completa



Node.js é um ambiente de execução JavaScript, construído sobre o motor V8. Uma de suas principais vantagens é a rica biblioteca padrão, que fornece centenas de módulos prontos para resolver tarefas cotidianas do desenvolvimento backend: desde trabalhar com o sistema de arquivos até criar servidores HTTP. Neste artigo, veremos os principais módulos, suas capacidades e daremos exemplos práticos de código.



1. Módulo fs (File System)

O módulo fs é a base para trabalhar com arquivos e diretórios. Suporta operações síncronas e assíncronas.

  • Leitura de arquivo (assíncrona):
const fs = require('fs');

fs.readFile('example.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data);});
  • Escrita em arquivo:
fs.writeFile('output.txt', 'Hello, Node.js!', (err) => {    if (err) throw err;    console.log('Arquivo salvo');});
  • Trabalhando com diretórios (criação, exclusão, leitura):
// Criando pastafs.mkdir('newDir', { recursive: true }, (err) => {    if (err) throw err;    console.log('Pasta criada');});

// Lendo conteúdo da pastafs.readdir('.', (err, files) => { console.log(files); // array de nomes de arquivos});


2. Módulo path

O módulo path simplifica o trabalho com caminhos de arquivos e pastas, independentemente do sistema operacional.

  • Junção de caminhos:
const path = require('path');

const fullPath = path.join('users', 'admin', 'docs', 'file.txt');console.log(fullPath); // users/admin/docs/file.txt (no Linux) ou users\\admin\\docs\\file.txt (no Windows)
  • Obtendo a extensão do arquivo:
const ext = path.extname('image.png');console.log(ext); // '.png'
  • Normalização de caminho (remove ".." e "." extras):
const normalized = path.normalize('/foo/bar//baz/asdf/quux/..');console.log(normalized); // /foo/bar/baz/asdf


3. Módulo http

Permite criar servidores e clientes HTTP. É neste módulo que frameworks como Express.js são construídos.

  • Servidor HTTP simples:
const http = require('http');

const server = http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Olá, mundo!');});

server.listen(3000, () => { console.log('Servidor rodando na porta 3000');});
  • Cliente HTTP (fazendo requisição GET):
http.get('http://jsonplaceholder.typicode.com/posts/1', (res) => {    let data = '';    res.on('data', chunk => data += chunk);    res.on('end', () => console.log(JSON.parse(data)));});


4. Módulo events

Implementa o padrão "Observador" (EventEmitter). Permite criar eventos personalizados e se inscrever neles.

const EventEmitter = require('events');

class MyEmitter extends EventEmitter {}

const myEmitter = new MyEmitter();

// Inscrição no eventomyEmitter.on('greet', (name) => { console.log(`Olá, ${name}!`);});

// Geração do eventomyEmitter.emit('greet', 'Alex'); // Olá, Alex!


5. Módulo buffer

Buffer é um armazenamento temporário para dados binários. É usado ao trabalhar com streams, arquivos, protocolos de rede.

// Criando buffer a partir de uma stringconst buf = Buffer.from('Hello', 'utf8');console.log(buf); // <Buffer 48 65 6c 6c 6f>

// Concatenação de buffersconst buf1 = Buffer.from('Node');const buf2

Recommendations