Express.js maakt geen gebruik van sessies op zichzelf. Het is een minimalistisch webframework voor Node.js. Echter, er zijn middleware-pakketten beschikbaar die je kunt gebruiken om sessies te implementeren in je Express.js applicaties.
Hier een simpel stappenplan over hoe je dit kunt doen met een populair pakket genaamd `express-session`.
1. Je begint met het installeren van het `express-session` pakket:
```
npm install express-session
```
1. Vervolgens, importeer je `express-session` in je applicatiebestand:
```
const session = require(‘express-session’);
```
1. Dan moet je de middleware aan je applicatie binden. Dit kun je doen binnen je app’s configuratiefunctie:
```
app.use(session({
secret: ‘mySecret’,
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}))
```
- `secret`: Dit is een geheim woord dat wordt gebruikt om de sessie-ID in de cookie te ondertekenen.
- `resave`: Dit dwingt de sessie te worden opgeslagen in de sessiewinkel.
- `saveUninitialized`: Dit dwingt een nieuwe ongewijzigde sessie om in de winkel opgeslagen te worden.
- `cookie`: Opties voor de sessie-ID cookie. In dit geval, telt de cookie alleen over https.
1. Nu kun je sessiegegevens in je route handlers verkrijgen en manipuleren:
```
app.get(‘/’, function(req, res, next) {
if (req.session.views) {
req.session.views++
res.json({views: req.session.views})
} else {
req.session.views = 1
res.json({message: ‘welcome to the session demo!’})
}
})
```
In dit voorbeeld hebben we een ‘views’-counter in de sessies opgemaakt.
Bij elk verzoek naar de home route, verhogen we de counter.
Houd er rekening mee dat `express-session` een op geheugen-gebaseerde sessiewinkel heeft, wat betekent dat als je de server opnieuw start, je alle sessiegegevens verliest. Voor productie-omgevingen overweeg je een persistente sessiewinkel te gebruiken, zoals Redis of MongoDB.