Node.js
Thème :
Junior
1 vues ·9/12 leçonsRoutage et Fichiers Statiques
Un serveur web doit souvent servir différents types de ressources : pages HTML, styles CSS, scripts JS ou images.
Mise en place d’un routing simple
Pour gérer différentes URL, analysez la propriété req.url :
const server = http.createServer((req, res) => {
if (req.url === '/' || req.url === '/home') {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end('<h1>Accueil</h1>');
} else if (req.url === '/about') {
res.end('<h1>À propos</h1>');
}
});
Servir des fichiers statiques
Pour servir un fichier (ex: /static/style.css), utilisez les modules fs et path :
const path = require('path');
const fs = require('fs');
const filePath = path.join(__dirname, 'public', req.url);
fs.readFile(filePath, (err, content) => {
if (err) {
res.writeHead(404);
res.end('Non trouvé');
} else {
res.writeHead(200, { 'Content-Type': 'text/css' });
res.end(content);
}
});
Détermination dynamique du type MIME
Il est crucial d’envoyer le bon Content-Type. Vous pouvez utiliser path.extname(filePath) pour le déduire :
.html->text/html.css->text/css.js->application/javascript.png->image/png
TP : Création d’un serveur statique
L’objectif est de créer un serveur capable de servir n’importe quel fichier présent dans un dossier public/. Cela constitue la base de tout serveur de fichiers web.
Prêt à passer à la suite ?
Vous avez terminé cette leçon sur Routage et Fichiers Statiques. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.