Bibliothèque standard JavaScript (Node.js) : aperçu complet
Node.js est un environnement d'exécution JavaScript construit sur le moteur V8 de Google. L'un de ses principaux avantages est sa riche bibliothèque standard, qui fournit des modules prêts à l'emploi pour résoudre une grande variété de tâches : de la gestion du système de fichiers à la création de serveurs HTTP. Dans cet article, nous allons détailler les modules clés de la bibliothèque standard de Node.js, montrer des exemples d'utilisation et expliquer quand utiliser quel module.
1. Module fs (File System)
Le module fs permet de travailler avec le système de fichiers : lire, écrire, supprimer des fichiers et des répertoires, ainsi que surveiller les modifications. Il fournit à la fois des méthodes synchrones et asynchrones.
const fs = require('fs');
// Lecture asynchrone d'un fichierfs.readFile('example.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data);});
// Écriture synchrone d'un fichierfs.writeFileSync('output.txt', 'Hello, Node.js!');fs.readFile()— lecture asynchrone d'un fichier.fs.writeFileSync()— écriture synchrone de données dans un fichier.fs.mkdir()— création d'un répertoire.fs.unlink()— suppression d'un fichier.
2. Module path
Le module path fournit des utilitaires pour travailler avec les chemins de fichiers et de répertoires. Il gère automatiquement les différences entre les systèmes d'exploitation (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()— concatène les segments de chemin.path.resolve()— convertit un chemin relatif en chemin absolu.path.normalize()— normalise le chemin (supprime les..et.superflus).
3. Module http
Le module http permet de créer des serveurs et des clients HTTP. C'est la base pour construire des applications web et des API.
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('Serveur démarré sur le port 3000');});http.createServer()— crée une instance de serveur.http.request()— effectue une requête HTTP vers une ressource externe.http.get()— version simplifiée derequest()pour les requêtes GET.
4. Module events
Le module events implémente le modèle "Observateur" (Observer). Il permet de créer ses propres événements et de s'y abonner. La plupart des objets Node.js (par exemple, les flux, les serveurs) héritent de EventEmitter.
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();myEmitter.on('event', () => { console.log('Événement déclenché !');});myEmitter.emit('event');emitter.on()— abonnement à un événement.emitter.emit()— déclenchement d'un événement.emitter.once()— abonnement à un événement unique.
5. Module stream
Les flux (streams) sont un concept fondamental de Node.js pour travailler avec des données traitées par morceaux, et non en totalité. Cela est particulièrement utile pour
Aussi dans la bibliothèque
Génération de PDF en Kotlin : meilleures bibliothèques et exemples de code
Travailler avec les images en Swift : guide complet pour iOS et macOS
Journalisation pour TypeScript : la bibliothèque Winston
Configuration des applications C# (.NET) : bibliothèques et approches
Mise en cache dans Node.js : Redis, Memcached et Node-Cache