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 do JavaScript (Node.js): visão geral completa



Node.js é um ambiente de execução JavaScript, construído no motor V8 do Google. Ao contrário do JavaScript do navegador, o Node.js oferece uma poderosa biblioteca padrão integrada que permite trabalhar com sistema de arquivos, rede, streams de dados, criptografia e muito mais. Neste artigo, examinaremos em detalhes os principais módulos da biblioteca padrão do Node.js que são essenciais para todo desenvolvedor.



1. Módulo fs (File System)

O módulo fs fornece uma API para interagir com o sistema de arquivos. Ele suporta operações síncronas e assíncronas.



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

// Leitura assíncronafs.readFile('example.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data);});

// Leitura síncronaconst data = fs.readFileSync('example.txt', 'utf8');console.log(data);


  • Escrita em arquivo:
const fs = require('fs');

fs.writeFile('output.txt', 'Olá, mundo!', (err) => { if (err) throw err; console.log('Arquivo salvo');});


O módulo também suporta trabalho com diretórios, streams e permissões de acesso.



2. Módulo path (Trabalho com caminhos)

O módulo path simplifica as manipulações com caminhos de arquivos e garante compatibilidade entre plataformas.



const path = require('path');

const fullPath = '/users/docs/file.txt';console.log(path.dirname(fullPath)); // /users/docsconsole.log(path.basename(fullPath)); // file.txtconsole.log(path.extname(fullPath)); // .txt

// Montagem de caminhoconst newPath = path.join('/users', 'docs', 'file.txt');console.log(newPath); // /users/docs/file.txt


3. Módulo http (Servidor e cliente HTTP)

Com o http, é possível criar servidores web e enviar requisições HTTP sem bibliotecas de terceiros.



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

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

server.listen(3000, () => { console.log('Servidor iniciado na porta 3000');});


  • Requisição HTTP (cliente):
const http = require('http');

http.get('http://api.example.com/data', (res) => { let data = ''; res.on('data', chunk => data += chunk); res.on('end', () => console.log(data));});


4. Módulo stream (Streams de dados)

Streams permitem processar grandes volumes de dados em partes, sem carregá-los completamente na memória. O Node.js suporta quatro tipos de streams: Readable, Writable, Duplex e Transform.



const fs = require('fs');const zlib = require('zlib');

// Leitura de arquivo, compressão e escritaconst readStream = fs.createReadStream('input.txt');const writeStream = fs.createWriteStream('output.txt.gz');const gzip = zlib.createGzip();

readStream.pipe(gzip).pipe(writeStream);


5. Módulo crypto (Criptografia)

O módulo crypto fornece funcionalidades para hashing, criptografia e geração de números aleatórios.



const crypto = require('crypto');

// Hashing de senhaconst hash = crypto.createHash('sha256').update('myPassword123').digest('hex');console.log(hash);

// Geração de bytes aleatórioscrypto.randomBytes(16, (err, buffer) => { console.log(buffer.toString('hex'));});


6. Módulo events (Eventos)

Muitos objetos no Node.js (por exemplo, streams, servidores) herdam de EventEmitter. Este módulo permite criar eventos personalizados.

Recommendations