Biblioteca Padrão JavaScript (Node.js): Visão Geral Completa
Node.js é um ambiente de execução JavaScript, construído sobre o motor V8 do Google. Uma de suas principais vantagens é a rica biblioteca padrão, que fornece módulos prontos para resolver as mais diversas tarefas: desde trabalhar com o sistema de arquivos até criar servidores HTTP. Neste artigo, vamos detalhar os principais módulos da biblioteca padrão do Node.js, mostrar exemplos de uso e explicar quando aplicar cada módulo.
1. Módulo fs (File System)
O módulo fs permite trabalhar com o sistema de arquivos: ler, escrever, excluir arquivos e diretórios, além de monitorar alterações. Ele oferece métodos síncronos e assíncronos.
const fs = require('fs');
// Leitura assíncrona de arquivofs.readFile('example.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data);});
// Escrita síncrona de arquivofs.writeFileSync('output.txt', 'Hello, Node.js!');fs.readFile()— leitura assíncrona de arquivo.fs.writeFileSync()— escrita síncrona de dados em arquivo.fs.mkdir()— criação de diretório.fs.unlink()— exclusão de arquivo.
2. Módulo path
O módulo path fornece utilitários para trabalhar com caminhos de arquivos e diretórios. Ele lida automaticamente com as diferenças entre sistemas operacionais (Windows, Linux, macOS).
const path = require('path');
const filePath = '/home/user/docs/file.txt';console.log(path.dirname(filePath)); // /home/user/docsconsole.log(path.basename(filePath)); // file.txtconsole.log(path.extname(filePath)); // .txtpath.join()— combina segmentos de caminho.path.resolve()— converte um caminho relativo em absoluto.path.normalize()— normaliza o caminho (remove..e.extras).
3. Módulo http
O módulo http permite criar servidores e clientes HTTP. É a base para a construção de aplicações web e APIs.
const http = require('http');
const server = http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Hello, World!');});
server.listen(3000, () => { console.log('Servidor rodando na porta 3000');});http.createServer()— cria uma instância do servidor.http.request()— realiza uma requisição HTTP a um recurso externo.http.get()— versão simplificada derequest()para requisições GET.
4. Módulo events
O módulo events implementa o padrão "Observador" (Observer). Ele permite criar eventos personalizados e se inscrever neles. A maioria dos objetos do Node.js (por exemplo, streams, servidores) herda de EventEmitter.
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();myEmitter.on('event', () => { console.log('Evento ocorreu!');});myEmitter.emit('event');emitter.on()— inscrição em um evento.emitter.emit()— geração de um evento.emitter.once()— inscrição em um evento único.
5. Módulo stream
Streams são um conceito fundamental no Node.js para trabalhar com dados que são processados em partes, e não por completo. Isso é especialmente útil para
Também na biblioteca
Trabalhando com Excel em C# (.NET): bibliotecas EPPlus, ClosedXML e NPOI
Cache em Go (Golang): Redis, in-memory e outras soluções
Trabalhando com datas em Swift: Foundation e DateFormatter
Processamento de Markdown em Swift para iOS e macOS: bibliotecas e exemplos
Trabalhando com XML em TypeScript: bibliotecas para parsing e criação de XML