Skip to content
Avatar de Thomas Bnt Thomas Bnt @thomasbnt
retour
Créer un serveur avec Fastify

Créer un serveur avec Fastify

Modifié le
This post is also available in English

Table des matières

Introduction

FastifyFavicon de fastify.io est un framework de serveur web comme ExpressJS mais avec de meilleures performances.

Benchmark sur le site Fastify.io L’écosystème est plutôt cool, il ajoute plusieurs pluginsFavicon de fastify.io. Mais dans ce premier test, je n’ajoute que @fastify/static pour récupérer les fichiers .html.

Développons !

Au début, créez un dossier void et installez Fastify et @fastify/static.

npm i fastify @fastify/static

Créez un app.js, c’est votre fichier racine.

Dans le app.js

Vous pouvez écrire la base de ce fichier pour créer un nouveau serveur Fastify.

const path = require("path")
const f = require('fastify')({logger : false})

f.register(require('@fastify/static'), {
    root : path.join(__dirname, 'public'),
    prefix : '/public/',
})

// Dans cet exemple, lorsque vous obtenez localhost:3000, vous avez l'heure.
f.get('/', (request, reply) => {
    reply.header('Content-Type', 'application/json')
    reply.send({hello : new Date()})
})
f.get('/about', (request, reply) => {
    reply.sendFile('about.html' )
})


const start = async () => {
    try {
        await f.listen(3000)
    } catch (err) {
        f.log.error(err)
        process.exit(1)
    }
}
start().then(r => r)

Pages HTML publiques

Créez un dossier /public et un fichier about.html.

Créez votre dossier public

Bidouiller un peu plus

Vous pouvez ajouter une page d’accueil avec un fichier index.html dans le dossier /public.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>Bienvenue sur mon serveur Fastify !</h1>
    <p>Voici une page d'accueil simple.</p>
</body>
</html>

Ou même ajouter une route pour récupérer un fichier JSON.

f.get('/data', (request, reply) => {
    reply.header('Content-Type', 'application/json')
    reply.send({message : "Voici des données JSON !"})
})

Fin

C’est un post très court, mais je démontre comment démarrer simplement un serveur avec Fastify. Comme c’est la première fois que je l’utilise, il peut y avoir quelques erreurs. N’hésitez pas à me donner votre avis dans les commentaires ! 👍🏼

Débuter avec FastifyFavicon de fastify.io

Initialement publié le
Partager sur

Article Précédent
Créer son premier robot Discord