分享一個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 | |||
Router? | Requests/sec | ||
4.17.3 | ✓ | 14,200 | |
#20.2.1 | ✓42,284 | Restify | 8.6.1##✓50,363 |
#Koa | 2.13.0 | ✗
54,272 |
|
#4.0.0 |
✓ |
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開發的網路框架,它提供了快速開發網頁應用程式的解決方案。在這篇文章中,我們將介紹如何使用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 編碼的字串處理困難。並且二進制是電腦最底層的資料格式,視訊/音訊/程式/網路包

身份驗證是任何網路應用程式中最重要的部分之一。本教程討論基於令牌的身份驗證系統以及它們與傳統登入系統的差異。在本教程結束時,您將看到一個用Angular和Node.js編寫的完整工作演示。傳統身份驗證系統在繼續基於令牌的身份驗證系統之前,讓我們先來看看傳統的身份驗證系統。使用者在登入表單中提供使用者名稱和密碼,然後點擊登入。發出請求後,透過查詢資料庫在後端驗證使用者。如果請求有效,則使用從資料庫中獲取的使用者資訊建立會話,然後在回應頭中傳回會話訊息,以便將會話ID儲存在瀏覽器中。提供用於存取應用程式中受
