目錄
前端web框架效能比對
Benchmarks
Fastify支援的功能
更多使用
相关link
首頁 web前端 js教程 分享一個Nodejs web框架:Fastify

分享一個Nodejs web框架:Fastify

Aug 04, 2022 pm 09:23 PM
node.js node web框架 fastify

這篇文章跟大家分享一個Nodejs web框架:Fastify,簡單介紹一下Fastify支援的特性、Fastify支援的外掛程式以及Fastify的使用方法,希望對大家有幫助!

分享一個Nodejs web框架: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

##FrameworkVersionRouter?Requests/secExpress4.17.3✓14,200hapi ✓8.6.1✗Fastify#77,193
#20.2.142,284 Restify##✓50,363
#Koa 2.13.0

54,272

#4.0.0
######## ##-##########################################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個社群外掛程式

分享一個Nodejs web框架:Fastify

那麼,要如何使用呢?

初始化

建立工程

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]),更多的使用用法,可以點擊鏈接類似下發,跳到連結進嘗試~

分享一個Nodejs web框架: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
})
登入後複製

更多使用

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

以上是分享一個Nodejs web框架:Fastify的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

一文聊聊Node中的記憶體控制 一文聊聊Node中的記憶體控制 Apr 26, 2023 pm 05:37 PM

基於無阻塞、事件驅動建立的Node服務,具有記憶體消耗低的優點,非常適合處理海量的網路請求。在海量請求的前提下,就需要考慮「記憶體控制」的相關問題了。 1. V8的垃圾回收機制與記憶體限制 Js由垃圾回收機

使用Golang的Web框架Buffalo建構網路應用 使用Golang的Web框架Buffalo建構網路應用 Jun 24, 2023 am 10:27 AM

Buffalo是一款使用Golang開發的網路框架,它提供了快速開發網頁應用程式的解決方案。在這篇文章中,我們將介紹如何使用Buffalo建立一個Web應用程式。安裝Buffalo首先,我們需要在本地安裝Buffalo。 Buffalo提供了一個方便的命令列工具,可以透過該工具來建立和運行應用程式。在安裝之前,請確保已經安裝了Golang和Node.js。然

深入聊聊Node中的File模組 深入聊聊Node中的File模組 Apr 24, 2023 pm 05:49 PM

文件模組是對底層文件操作的封裝,例如文件讀寫/打開關閉/刪除添加等等文件模組最大的特點就是所有的方法都提供的**同步**和**異步**兩個版本,具有sync 字尾的方法都是同步方法,沒有的都是異

Pi Node教學:什麼是Pi節點?如何安裝和設定Pi Node? Pi Node教學:什麼是Pi節點?如何安裝和設定Pi Node? Mar 05, 2025 pm 05:57 PM

PiNetwork節點詳解及安裝指南本文將詳細介紹PiNetwork生態系統中的關鍵角色——Pi節點,並提供安裝和配置的完整步驟。 Pi節點在PiNetwork區塊鏈測試網推出後,成為眾多先鋒積極參與測試的重要環節,為即將到來的主網發布做準備。如果您還不了解PiNetwork,請參考Pi幣是什麼?上市價格多少? Pi用途、挖礦及安全性分析。什麼是PiNetwork? PiNetwork項目始於2019年,擁有其專屬加密貨幣Pi幣。該項目旨在創建一個人人可參與

Go語言Web框架比較:gin vs. echo vs. iris Go語言Web框架比較:gin vs. echo vs. iris Jun 17, 2023 pm 07:44 PM

隨著Web開發的需求不斷增加,各種語言的Web框架也逐漸多樣化,Go語言也不例外。在許多Go語言的Web框架中,gin、echo和iris是三個最受歡迎的框架。在這篇文章中,我們將比較這三個框架的優缺點,以幫助您選擇適合您的專案的框架。 gingin是一個輕量級的Web框架,它具有高效能和靈活性的特性。它支援中間件和路由功能,這使得它非常適合建立RESTful

如何使用PHP和Slim實現輕量級Web框架 如何使用PHP和Slim實現輕量級Web框架 Jun 25, 2023 pm 01:03 PM

在現代網頁應用程式開發中,Web框架已經成為了不可或缺的一部分,它們提供了一種基礎架構,使得開發者能夠更快地創建和部署自己的應用程式。在PHP開發中,Slim是一種輕量級的Web框架,以其易於使用和快速開發而聞名。本文將介紹如何使用PHP和Slim創建一個簡單但功能強大的Web應用程式。 Slim是什麼? Slim是一種使用語言PHP編寫的輕量級Web框架,其核

深入了解Node中的Buffer 深入了解Node中的Buffer Apr 25, 2023 pm 07:49 PM

一開始的時候 JS 只在瀏覽器端運行,對於 Unicode 編碼的字串容易處理,但對於二進位和非 Unicode 編碼的字串處理困難。並且二進制是電腦最底層的資料格式,視訊/音訊/程式/網路包

使用Angular和Node進行基於令牌的身份驗證 使用Angular和Node進行基於令牌的身份驗證 Sep 01, 2023 pm 02:01 PM

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

See all articles