Maison  >  Article  >  interface Web  >  Partager un framework web Nodejs : Fastify

Partager un framework web Nodejs : Fastify

青灯夜游
青灯夜游avant
2022-08-04 21:23:152698parcourir

Cet article partagera avec vous un framework web Nodejs : Fastify. Je présenterai brièvement les fonctionnalités prises en charge par Fastify, les plug-ins pris en charge par Fastify et comment utiliser Fastify.

Partager un framework web Nodejs : Fastify

La plupart des frameworks web front-end sont basés sur node. fastify ne fait pas exception.

Comparaison des performances du framework Web front-end

Si tel est vraiment le cas, seriez-vous heureux d'essayer fastfy ? ? Kbenchmarksenmachine :

EX41S -SSD, Intel Core i7, 4GHz, 64GB RAM, 4C/8T, SSD.

Méthode :  : AutoCannon -C 100 -D 40 -P 10 localhost:3000 * 2, en prenant la deuxième moyenne

Express 4.17.3

autocannon -c 100 -d 40 -p 10 localhost:3000 * 2, taking the second average

Framework Version Routeur ? Requêtes/sec
hapi20.2.1proof Koa
Framework Version Router? Requests/sec
Express 4.17.3 14,200
hapi 20.2.1 42,284
Restify 8.6.1 50,363
Koa 2.13.0 54,272
Fastify 4.0.0 77,193
-


http.Server14 200
2.13.0🎜🎜 - 🎜🎜
🎜🎜
🎜 🎜
🎜🎜 🎜http.Serveur🎜🎜16.14.2🎜🎜✗🎜🎜74,513🎜🎜🎜🎜

Fonctionnalités prises en charge par Fastify

  • Hautes performances : Veuillez consulter le tableau ci-dessus.
  • Extensible : Grâce à des hooks, des plugins et des décorateurs pour obtenir l'extensibilité.
  • Basé sur un schéma : Il n'est pas obligatoire d'utiliser Schéma JSON Vérifiez votre configuration de routage, configurez-la à temps et compilez-la rapidement
  • Logging : Utilisez Pino pour enregistrer les journaux et réduire les pertes.
  • Convivial pour les développeurs : Convivial pour les développeurs, et prend également en compte et conçoit les performances et la sécurité.
  • TypeScript prêt : prend en charge TypeScript

Fastify pris en charge plugins

Dès maintenant, il existe 48 plug-ins principaux et 179 plug-ins communautaires

Partager un framework web Nodejs : Fastify

Alors, comment les utiliser ?

Initialisation

Créer un projet

npm install --global fastify-cli
fastify generate myproject

Initialiser le projet

npm init -y fastify

Installer les dépendances

#npm 
npm i fastify

#yarn 
yarn add fastify

hello-world

Retour synchrone

// ESM
import Fastify from 'fastify'
//const fastify = Fastify({
  //logger: true
//})
// CommonJs
const fastify = require('fastify')({
  logger: true
})

// Declare a route
fastify.get('/', (request, reply) => {
  reply.send({ hello: 'world' })
})

// Run the server!
fastify.listen({ port: 3000 }, (err, address) => {
  if (err) throw err
  // Server is now listening on ${address}
})

Retour asynchrone

// ESM
import Fastify from 'fastify'
const fastify = Fastify({
  logger: true
})
// CommonJs
//const fastify = require('fastify')({
  //logger: true
//})

fastify.get('/', async (request, reply) => {
  reply.type('application/json').code(200)
  return { hello: 'world' }
})

fastify.listen({ port: 3000 }, (err, address) => {
  if (err) throw err
  // Server is now listening on ${address}
})

Comment utiliser le plugin

fastify.register(plugin, [options]), pour plus d'utilisation, vous pouvez cliquer sur le lien pour télécharger, accéder au lien et essayer~

Partager un framework web Nodejs : Fastify

const fastifySession = require('fastify-session')

fastify.register(fastifySession, {
    cookieName: 'sessionId',
    secret: 'a secret with minimum length of 32 characters',
    cookie: { secure: false },
    expires: 1800000
})

更多使用

相关link

更多node相关知识,请访问:nodejs 教程

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer