ExpressJS

Voir la vidéo
Description Sommaire

ExpressJS est une librairie qui vous permettra de créer une application Web plus simplement qu'avec l'objet http directement. Elle fournit un ensemble de méthodes permettant de traiter les requêtes HTTP et fournit un système de middleware pour étendre ses fonctionnalitées.

Les routes

Comme beaucoup de frameworks web, ExpressJS se présente comme un routeur où l'on va déclarer les routes supportées par notre application ainsi que le traitement à effectuer lorsque cette dernière est rencontrée.

let express = require('express')
let app = express()

app.get('/', (request, response) => {
  response.send('Bonjour')
})
app.get('/demo', (request, response) => {
  response.send('Bonjour je suis la démo')
})
app.post('/', (request, response) => {
    // Traitement des données
})

app.listen(8080)

Les middlewares

Les middlewares permettent d'effectuer un traitement avant celui défini par les routes. On trouvera de nombreux middleware disponible sur NPM comme par exemple body-parser permettant de gérer les données postées par un formulaire par exemple.

// ....
let bodyParser = require('body-parser')

app.use('/assets', express.static('public')) // Gestion des fichiers statiques
app.use(bodyParser.urlencoded({ extended: false })) 
app.use(bodyParser.json())

// Nos routes...

Il est aussi possible de définir nos propres middleware. Il suffit pour cela de déclarer une fonction qui possède 3 arguments request, response et nextqui devra être appellée à la fin du traitement.

// Middleware pour des messages flash
module.exports = function (request, response, next) {

  if (request.session.flash) {
    response.locals.flash = request.session.flash
    request.session.flash = undefined
  }

  request.flash = function (type, content) {
    if (request.session.flash === undefined) {
      request.session.flash = {}
    }
    request.session.flash[type] = content
  }

  next()
}

Pour plus d'informations n'hésitez pas à feuilleter la documentation

Publié
Technologies utilisées
Auteur :
Grafikart
Partager