Présentation du framework Express.js
Express.js est une framework minimaliste et souple pour Node.js créer en 2009. Il offre des fonctionnalités permettant de créer une application web côté serveur, c'est le framework le plus utilisé actuellement pour Node.js. La construction du framework Express.js est basée sur le module http de Node.js.
Les fonctionnalités d'Express.js :
- Gérer les routes
- Middleware (sur l'application ou sur les routes)
- Moteur de rendu
- Traitement des erreurs
Installer Express.js
Il est nécessaire d'avoir installé Node.js sur votre machine avant de commencer.
- Créez un d'un dossier nommé "MonProjet" et ouvrez une interface en ligne de commande dans le dossier
- Installer NPM avec la commande suivante et appuyez sur Entrée plusieurs fois de suite afin de valider l'installation
$ npm init - Installez le package Express.js
$ npm i express
Créer un serveur web avec Express.js
- Créez un fichier nommé index.js et copiez le code ci-dessous
const express = require("express");const app = express();const port = 3000;
app.get("/", (req, res) => {res.status(200).send("Hello World!");});
app.listen(port, () => {console.log(`Example app listening on port ${port}`);}); - Exécutez l'application avec la commande suivante
$ node index.js
- Votre application est accessible sur http://localhost:3000
Avec cet exemple nous avons exécuté un serveur Express.js s'éxécutant sur le port 3000 affichant le message Hello World aux demandes GET adressées à l'URL racine de notre application (/). Les demandes adressées sur d'autre chemins répondront 404 Not Found.
Modifier le format de réponse
Il existe de nombreuse méthodes de réponse disponibles au sein d'Express.js utilisiables directement via l'objet response. La liste des méthodes disponibles pour l'objet response.
Repondre du HTML
Répondre du JSON
-
res.send()
La méthode res.send(param) renvoie automatiquement du JSON si le paramètre est de type Object ou Arrayapp.get("/", (req, res) => {res.set('Content-Type', 'application/json') // Vous pouvez définir l'entête de réponse (facultatif)res.status(200).send({message : "Hello World"});}); -
res.json()
La méthode res.json(param) renvoie une réponse de type JSON en convertissant le paramètre envoyer à l'aide de JSON.stringify(). Le paramètre indiqué peut-être de type Object, Array, String, Number, Boolean ou nullapp.get("/", (req, res) => {res.set('Content-Type', 'application/json') // Vous pouvez définir l'entête de réponse (facultatif)res.status(500).json({ error: 'Internal Server Error' })});
Le routage de base d'une application Express.js
Le routage de base d'une application Express.js peut-être gérer directement via l'instance d'express (app). Les exmples suivants illustrent la définiton de routes simples mais Express.js propose de multiples façons de gérer les routes.
-
La méthode GET
app.get("/articles", (req, res) => {res.send("La liste des articles")}); -
La méthode POST
app.post("/articles/1", (req, res) => {res.send("L'article 1 à été modifié")}); -
La méthode PUT
app.put("/articles", (req, res) => {res.send("Article crée")}); -
La méthode DELETE
app.delete("/articles/1", (req, res) => {res.send("Article 1 supprimé")});
Voici les bases de l'utilisation d'Express.js mais le framework propose de nombreuses fonctionnalités permettant de correspondre à des cas d'utilisation spécifiques.
- Le site officiel : https://expressjs.com/fr/
- Le lien du package NPM : https://npmjs.com/package/express
- Le GitHub : https://github.com/expressjs/express