分享一个Nodejs web框架:Fastify
本篇文章给大家分享一个Nodejs web框架:Fastify,简单介绍一下Fastify支持的特性、Fastify支持的插件以及Fastify的使用方法,希望对大家有所帮助!
前端的web框架,大部分都是建立在node基础上的。fastify 也不例外。
前端web框架性能比对
如果真的是这样的话,那么是很乐意去尝试fastfy的 ??
Benchmarks
Machine: EX41S-SSD, Intel Core i7, 4Ghz, 64GB RAM, 4C/8T, SSD.
Method: : autocannon -c 100 -d 40 -p 10 localhost:3000
* 2, taking the second average
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 | ||||||||||||||||||||||||||||||||
|
4.0.0 | ✓ | 77,193 | ||||||||||||||||||||||||||||||||
- | |||||||||||||||||||||||||||||||||||
http.Server |
16.14.2 | ✗ | 74,513 |
Fastify支持的特性
- 高性能: 请见上表.
- Extensible: 通过 hooks, plugins and decorators 来实现扩展性.
- Schema based: 不强制使用 JSON Schema 验证你的路由配置,及时配置了,编译也是很快的.
- Logging: 使用Pino来记录日志,并把损耗降低。
- Developer friendly: 对开发者友好,而且对性能、安全性也有考虑、设计.
- TypeScript ready: 支持 TypeScript
Fastify支持的 plugins
截止到目前, 48个核心插件 、179个社区插件
那么,如何使用呢?
初始化
创建工程
npm install --global fastify-cli fastify generate myproject
初始化工程
npm init -y fastify
安装依赖
#npm npm i fastify #yarn yarn add fastify
hello-world
同步返回
// 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} })
异步返回
// 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} })
plugin如何使用
fastify.register(plugin, [options]),更多的使用用法, 可以点击链接类似下发,跳转链接进尝试~
const fastifySession = require('fastify-session') fastify.register(fastifySession, { cookieName: 'sessionId', secret: 'a secret with minimum length of 32 characters', cookie: { secure: false }, expires: 1800000 })
更多使用
- Example List
Getting Started
Guides
Server
- Routes
Encapsulation
Logging
Middleware
- Hooks
Decorators
Validation and Serialization
Fluent Schema
- Lifecycle
Reply
- Request
Errors
Content Type Parser
- Plugins
Testing
- Benchmarking
How to write a good plugin
Plugins Guide
HTTP2
Long Term Support
TypeScript and types support
- Serverless
Recommendations
相关link
更多node相关知识,请访问:nodejs 教程!
以上是分享一个Nodejs web框架:Fastify的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

基于无阻塞、事件驱动建立的Node服务,具有内存消耗低的优点,非常适合处理海量的网络请求。在海量请求的前提下,就需要考虑“内存控制”的相关问题了。 1. V8的垃圾回收机制与内存限制 Js由垃圾回收机

Buffalo是一款使用Golang开发的Web框架,它提供了一种快速开发Web应用程序的解决方案。在这篇文章中,我们将介绍如何使用Buffalo构建一个Web应用。安装Buffalo首先,我们需要在本地安装Buffalo。Buffalo提供了一个方便的命令行工具,可以通过该工具来构建和运行应用程序。在安装之前,确保已经安装了Golang和Node.js。然

文件模块是对底层文件操作的封装,例如文件读写/打开关闭/删除添加等等 文件模块最大的特点就是所有的方法都提供的**同步**和**异步**两个版本,具有 sync 后缀的方法都是同步方法,没有的都是异

PiNetwork节点详解及安装指南本文将详细介绍PiNetwork生态系统中的关键角色——Pi节点,并提供安装和配置的完整步骤。Pi节点在PiNetwork区块链测试网推出后,成为众多先锋积极参与测试的重要环节,为即将到来的主网发布做准备。如果您还不了解PiNetwork,请参考Pi币是什么?上市价格多少?Pi用途、挖矿及安全性分析。什么是PiNetwork?PiNetwork项目始于2019年,拥有其专属加密货币Pi币。该项目旨在创建一个人人可参与

随着Web开发的需求不断增加,各种语言的Web框架也逐渐多样化,Go语言也不例外。在许多Go语言的Web框架中,gin、echo和iris是三个最受欢迎的框架。在这篇文章中,我们将比较这三个框架的优缺点,以帮助您选择适合您的项目的框架。gingin是一个轻量级的Web框架,它具有高性能和灵活性的特点。它支持中间件和路由功能,这使得它非常适合构建RESTful

在现代网络应用程序开发中,Web框架已经成为了不可或缺的一部分,它们提供了一种基础架构,使得开发者能够更快地创建和部署自己的应用程序。在PHP开发中,Slim是一种轻量级的Web框架,以其易于使用和快速开发而著称。本文将介绍如何使用PHP和Slim创建一个简单但功能强大的Web应用程序。Slim是什么?Slim是一种使用语言PHP编写的轻量级Web框架,其核

最开始的时候 JS 只在浏览器端运行,对于 Unicode 编码的字符串容易处理,但是对于二进制和非 Unicode 编码的字符串处理困难。并且二进制是计算机最底层的数据格式,视频/音频/程序/网络包

如何使用 Node.js 进行前端应用的开发?下面本篇文章给大家介绍一下Node开发前端应用的方法,涉及到表现层应用的开发。我今天分享的方案是针对简单场景的,旨在让前端开发人员不必掌握太多关于 Node.js 的背景知识和专业知识,即使没有代码编写经验,也能完成一些简单的服务端开发任务。
