Bibliothèque standard JavaScript (Node.js) : aperçu complet

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Bibliothèque standard JavaScript (Node.js) : aperçu complet



Node.js est un environnement d'exécution JavaScript, construit sur le moteur V8. L'un de ses principaux avantages est sa riche bibliothèque standard, qui fournit des centaines de modules prêts à l'emploi pour résoudre les tâches quotidiennes du développement backend : de la gestion du système de fichiers à la création de serveurs HTTP. Dans cet article, nous examinerons les modules clés, leurs fonctionnalités et fournirons des exemples de code pratiques.



1. Module fs (File System)

Le module fs est la base pour travailler avec les fichiers et les répertoires. Il prend en charge les opérations synchrones et asynchrones.

  • Lecture d'un fichier (asynchrone) :
const fs = require('fs');

fs.readFile('example.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data);});
  • Écriture dans un fichier :
fs.writeFile('output.txt', 'Bonjour, Node.js!', (err) => {    if (err) throw err;    console.log('Fichier enregistré');});
  • Gestion des répertoires (création, suppression, lecture) :
// Création d'un dossierfs.mkdir('newDir', { recursive: true }, (err) => {    if (err) throw err;    console.log('Dossier créé');});

// Lecture du contenu d'un dossierfs.readdir('.', (err, files) => { console.log(files); // tableau des noms de fichiers});


2. Module path

Le module path simplifie la gestion des chemins de fichiers et de dossiers, indépendamment du système d'exploitation.

  • Concaténation de chemins :
const path = require('path');

const fullPath = path.join('users', 'admin', 'docs', 'file.txt');console.log(fullPath); // users/admin/docs/file.txt (sous Linux) ou users\\admin\\docs\\file.txt (sous Windows)
  • Obtention de l'extension d'un fichier :
const ext = path.extname('image.png');console.log(ext); // '.png'
  • Normalisation d'un chemin (supprime les « .. » et « . » superflus) :
const normalized = path.normalize('/foo/bar//baz/asdf/quux/..');console.log(normalized); // /foo/bar/baz/asdf


3. Module http

Permet de créer des serveurs et des clients HTTP. C'est sur ce module que sont construits des frameworks comme Express.js.

  • Serveur HTTP simple :
const http = require('http');

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

server.listen(3000, () => { console.log('Serveur démarré sur le port 3000');});
  • Client HTTP (effectuer une requête 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. Module events

Implémente le modèle « Observateur » (EventEmitter). Permet de créer ses propres événements et de s'y abonner.

const EventEmitter = require('events');

class MyEmitter extends EventEmitter {}

const myEmitter = new MyEmitter();

// Abonnement à un événementmyEmitter.on('greet', (name) => { console.log(`Bonjour, ${name}!`);});

// Génération d'un événementmyEmitter.emit('greet', 'Alexis'); // Bonjour, Alexis!


5. Module buffer

Buffer est un stockage temporaire pour les données binaires. Il est utilisé lors du travail avec les flux, les fichiers, les protocoles réseau.

// Création d'un buffer à partir d'une chaîneconst buf = Buffer.from('Bonjour', 'utf8');console.log(buf); // <Buffer 42 6f 6e 6a 6f 75 72>

// Concaténation de buffersconst buf1 = Buffer.from('Node');const buf2

Recommendations