Pour commencer avec Express.js, il est nécessaire d'installer Node.js sur votre machine. Une fois installé, vous pouvez créer un répertoire pour votre projet et initialiser un projet Node.js avec la commande npm init
. Après l'initialisation, vous pouvez installer Express en utilisant la commande npm install express
.
Après l'installation, créez un fichier JavaScript, par exemple
app.js
, où vous pourrez configurer Express. Voici un exemple de configuration de base :
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}/`);
});
Express utilise des middlewares pour traiter les requêtes HTTP. Un middleware est simplement une fonction qui traite les requêtes avant qu'elles ne parviennent à leur destination finale. Les middlewares peuvent être utilisés pour des fonctionnalités comme la gestion des cookies, l'authentification, la journalisation et bien plus.
Pour utiliser un middleware personnalisé, il suffit de le définir dans votre application Express :
app.use((req, res, next) => {
console.log('Time:', Date.now());
next();
});
Dans cet exemple, le middleware enregistre l'heure de la requête à la console.
Le routage avec Express est parfaitement adapté pour répondre aux besoins d'un développeur créant des chemins précis dans une application. Par exemple, vous pouvez définir plusieurs routes pour diverses actions comme suit :
app.get('/users', (req, res) => {
res.send('Get all users');
});
app.post('/users', (req, res) => {
res.send('Add a user');
});
Ce code définit deux routes : une pour obtenir des utilisateurs et l'autre pour en ajouter.
Dans Express, la gestion des erreurs peut être gérée grace à un middleware d'erreurs intégré. Voici un exemple :
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something broke!');
});
Ce middleware capture les erreurs qui pourraient se produire durant le cycle de requête-réponse et renvoie une réponse de statut 500 au client.