Cet article divise en profondeur la création de sites Web avec Node.js et Express.js. Express.js est un framework essentiel pour créer des applications Web robustes et évolutives au-dessus de Node.js, et l'accent aujourd'hui sera mis sur le routage, le middleware et les moteurs de modèles, et des sessions de cookies.
La méthode app.use(callback) dans Express.js est utilisée pour monter des fonctions middleware. Ce middleware s'exécutera pour chaque requête adressée à votre application, quelle que soit la méthode HTTP ou l'URL.
par exemple) Dans cet exemple, le middleware s'exécute pour chaque demande entrante et enregistre un message sur la console.
const express = require('express'); const app = express(); app.use((req, res, next) => { console.log('Middleware running for every request.'); next(); });
Cette méthode vous permet de monter un middleware sur un itinéraire spécifique. Le middleware ne s'exécutera que si la requête correspond au chemin spécifié.
par exemple) Dans cet exemple, le middleware ne sera déclenché que pour les routes commençant par /users.
app.use('/users', (req, res, next) => { console.log('Middleware only for /users route.'); next(); });
Ces méthodes vous permettent de gérer des méthodes HTTP spécifiques (GET, POST, PUT, DELETE, etc.) sur une route spécifique. C'est ici que vous définissez le comportement de votre application Web.
par exemple) Chaque méthode gère une partie différente des opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) pour la gestion des utilisateurs.
app.get('/users', (req, ress) => { res.send('Fetching all users'); }); app.post('/users', (req, res) => { res.send('Creating a new user'); }); app.put('/users/:id', (req, res) => { res.send(`Updating user with ID: ${req.params.id}`); }); app.delete('/users/:id', (req, res) => { res.send('Deleting user with ID: ${req.params.id}`); });
Les fonctions middleware d'Express.js ont accès aux objets de requête (req) et de réponse (res), et elles peuvent exécuter du code, apporter des modifications ou mettre fin au cycle requête-réponse.
par exemple) Dans cet exemple, le middleware ajoute des données personnalisées à l'objet de requête et le gestionnaire de route y accède.
app.use((req, res, next) => { req.customData = 'Some custom data'; next(); }); app.get('/', (req, res) => { res.send(`Data from middleware: ${req.customData}`); });
Dans l'exemple ci-dessus, j'utilise next() pour passer le contrôle au prochain middleware ou gestionnaire de route. Sans appeler next(), la requête se bloquerait car le cycle n'avancerait pas.
par exemple) Cela garantit que chaque élément de middleware peut passer le contrôle au suivant dans la chaîne.
const express = require('express'); const app = express(); app.use((req, res, next) => { console.log('Middleware running for every request.'); next(); });
Express Router est un excellent outil pour organiser des itinéraires dans des applications modulaires. Il vous aide à diviser vos itinéraires en morceaux plus petits et gérables.
par exemple) Dans cet exemple, le routeur est monté sur /users, et les requêtes adressées à /users/profile seront traitées par la route du routeur.
app.use('/users', (req, res, next) => { console.log('Middleware only for /users route.'); next(); });
La gestion des sessions et des cookies est cruciale pour gérer l'authentification et l'état des utilisateurs. Express.js fournit un middleware pour gérer les données de session.
par exemple) À l'aide d'une session express, j'initialise une session et définit les données de session, accessibles tout au long de la session de l'utilisateur.
app.get('/users', (req, ress) => { res.send('Fetching all users'); }); app.post('/users', (req, res) => { res.send('Creating a new user'); }); app.put('/users/:id', (req, res) => { res.send(`Updating user with ID: ${req.params.id}`); }); app.delete('/users/:id', (req, res) => { res.send('Deleting user with ID: ${req.params.id}`); });
Lors du rendu des vues à l'aide de moteurs de modèles, vous pouvez transmettre des variables pour générer dynamiquement du contenu. Par exemple, dans EJS, vous pouvez transmettre des variables à vos vues pour le rendu.
par exemple) Dans cet exemple, je passe les variables de titre et de message au modèle EJS.
app.use((req, res, next) => { req.customData = 'Some custom data'; next(); }); app.get('/', (req, res) => { res.send(`Data from middleware: ${req.customData}`); });
EJS est un moteur de création de modèles populaire qui vous permet d'écrire du HTML et d'intégrer du JavaScript directement dans la structure HTML. C'est simple mais puissant et s'intègre bien à Express.js pour les pages Web dynamiques.
par exemple) Le <%= %> La syntaxe est utilisée pour injecter des expressions JavaScript dans le HTML.
app.use((req, res, next) => { console.log('First middleware'); next(); }); app.use((req, res, next) => { console.log('Second middlware'); });
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!