摘要:什么是是一個高度專注于以最少開銷和強(qiáng)大的插件架構(gòu),為開發(fā)人員提供最佳體驗(yàn)的框架。它受到了和的啟發(fā),是目前最快的框架之一。
什么是 Fastify?
Fastify 是一個高度專注于以最少開銷和強(qiáng)大的插件架構(gòu),為開發(fā)人員提供最佳體驗(yàn)的 Web 框架。
它受到了 Hapi 和 Express 的啟發(fā),是目前最快的 Node 框架之一。
Fastify 獨(dú)特的將 JSON Schema 應(yīng)用到請求時的 validation 和響應(yīng)時的 serialization, 作者寫的 fast-json-stringify 包更是達(dá)到了2x faster than JSON.stringify的神奇效果。
為什么要使用 Fastify100% 異步:框架的核心都是用異步代碼實(shí)現(xiàn)的
高性能:每秒可以提供34000個請求
可擴(kuò)展:Fastify 通過其鉤子,插件和裝飾器完全可擴(kuò)展
基于模式:即使不是強(qiáng)制性的,我們建議使用 JSON Schema 來驗(yàn)證路由并序列化輸出
日志記錄:日志非常重要,但成本高昂,我們選擇了最好的記錄器 Pino
對開發(fā)者友好:該框架構(gòu)建非常有表現(xiàn)力,不會犧牲性能和安全性
如何安裝fastify? 使用 npm 安裝:npm i fastify --save使用 yarn 安裝:
yarn add fastify腳手架安裝 全局安裝
npm i fastify-cli -g進(jìn)入目錄
cd [myproject]初始化Fastify腳手架
fastify generate運(yùn)行
npm start如何創(chuàng)建一個簡單的 Fastify 應(yīng)用?
聲明一個監(jiān)聽客戶端http://127.0.0.1:3000/的「GET」請求
Fastify返回 { hello: "world" }。
// 加載框架并新建實(shí)例 const fastify = require("fastify")({ // 開始日志記錄 logger: true }) // 聲明路由 fastify.get("/", function(request, reply) { reply.send({ hello: "world" }) }) // 啟動服務(wù)! fastify.listen(3000, function(err, address) { if (err) { fastify.log.error(err) process.exit(1) } fastify.log.info(`server listening on ${address}`) })
-n-
我們還可以利用async/await特性,講Fastify進(jìn)行異步操作const fastify = require("fastify")() fastify.get("/", async (request, reply) => { return { hello: "world" } }) const start = async () => { try { await fastify.listen(3000) } catch (err) { fastify.log.error(err) process.exit(1) } } start()就如同在 JavaScript 中一切皆為對象,在 Fastify 中,一切都是插件 (plugin)。
新建一個基礎(chǔ)的插件
// my-first-pugin.js async function routes (fastify, options) { fastify.get("/", async (request, reply) => { return { hello: "world" } }) } module.exports = routes
在服務(wù)器上注冊這個插件
const fastify = require("fastify")() // 注冊插件 fastify.register(require("./our-first-route")) // 監(jiān)聽3000端口號,啟動 fastify.listen(3000, function (err, address) { if (err) { fastify.log.error(err) process.exit(1) } fastify.log.info(`server listening on ${address}`) })為了優(yōu)化解析 JSON 與序列化 JSON 輸出的過程,F(xiàn)astify 可以序列化數(shù)據(jù)
我們可以在schema的選項中設(shè)置 response 的值,能夠加快 JSON 的序列化
約束200狀態(tài)碼的response的數(shù)據(jù)格式
const opts = { schema: { response: { 200: { type: "object", properties: { hello: { type: "string" } } } } } } fastify.get("/", opts, async (request, reply) => { return { hello: "world" } })
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/105583.html
摘要:美國國家安全局和網(wǎng)絡(luò)安全與基礎(chǔ)設(shè)施安全局近期發(fā)布了網(wǎng)絡(luò)云基礎(chǔ)設(shè)施安全指南第部分防止和檢測橫向移動以下簡稱指南。如開篇所述,企業(yè)組織應(yīng)積極使用微分段,以最小化環(huán)境中任何特定網(wǎng)絡(luò)分段危害的爆炸半徑。盡管云計算將在5G網(wǎng)絡(luò)的成功落地中發(fā)揮著關(guān)鍵作用,但任何新技術(shù)的應(yīng)用都會帶來安全問題,云計算也不例外。美國國家安全局(NSA)和網(wǎng)絡(luò)安全與基礎(chǔ)設(shè)施安全局(CISA)近期發(fā)布了《5G網(wǎng)絡(luò)云基礎(chǔ)設(shè)施安全指...
摘要:日前,工業(yè)和信息化部印發(fā)了推動企業(yè)上云實(shí)施指南年以下簡稱實(shí)施指南,指導(dǎo)和促進(jìn)企業(yè)運(yùn)用云計算加快數(shù)字化網(wǎng)絡(luò)化智能化轉(zhuǎn)型升級。穩(wěn)妥有序?qū)嵤┥显啤楦猛七M(jìn)企業(yè)上云工作,實(shí)施指南提出了相關(guān)政策措施。8月10日,信息化和軟件服務(wù)業(yè)司發(fā)布了《推動企業(yè)上云實(shí)施指南(2018-2020年)》(以下簡稱實(shí)施指南)解讀。《實(shí)施指南》顯示,云計算是推動信息技術(shù)能力實(shí)現(xiàn)按需供給、提高信息化建設(shè)利用水平的新技術(shù)、新...
摘要:概覽概覽產(chǎn)品簡介基礎(chǔ)知識產(chǎn)品優(yōu)勢機(jī)制產(chǎn)品架構(gòu)設(shè)計原理彈性擴(kuò)縮容機(jī)制開發(fā)綜述服務(wù)請求方式開源鏡像開源案例學(xué)習(xí)視頻產(chǎn)品定價快速上手快速上手案例介紹環(huán)境準(zhǔn)備在線服務(wù)代碼簡介 概覽產(chǎn)品簡介UAI-Inference基礎(chǔ)知識產(chǎn)品優(yōu)勢Hot-Standby機(jī)制產(chǎn)品架構(gòu)設(shè)計原理彈性擴(kuò)縮容機(jī)制開發(fā)綜述服務(wù)請求方式開源Docker鏡像開源案例學(xué)習(xí)視頻產(chǎn)品定價快速上手快速上手(TF-Mnist案例)MNIST ...
摘要:層疊樣式表二修訂版這是對作出的官方說明。速查表兩份表來自一份關(guān)于基礎(chǔ)特性,一份關(guān)于布局。核心第一篇一份來自的基礎(chǔ)參考指南簡寫速查表簡寫形式參考書使用層疊樣式表基礎(chǔ)指南,包含使用的好處介紹個方法快速寫成高質(zhì)量的寫出高效的一些提示。 迄今為止,我已經(jīng)收集了100多個精通CSS的資源,它們能讓你更好地掌握CSS技巧,使你的布局設(shè)計脫穎而出。 CSS3 資源 20個學(xué)習(xí)CSS3的有用資源 C...
摘要:此時使用設(shè)置當(dāng)前值中的猜測值為輸入框的內(nèi)容值。接著判斷猜測之是否大于或者小于,因?yàn)檫@兩者是范圍之外不再進(jìn)行判斷,所以最開始使用進(jìn)行判斷不能小于不能大于以上代碼中表示調(diào)用微信小程序接口彈出提示,傳入的參數(shù)為提示內(nèi)容。 ...
閱讀 3703·2021-11-11 10:58
閱讀 2486·2021-09-22 15:43
閱讀 2875·2019-08-30 15:44
閱讀 2198·2019-08-30 13:08
閱讀 1828·2019-08-29 17:28
閱讀 893·2019-08-29 10:54
閱讀 684·2019-08-26 11:46
閱讀 3512·2019-08-26 11:43