成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Fastfiy基礎(chǔ)指南

svtter / 2547人閱讀

摘要:什么是是一個(gè)高度專注于以最少開銷和強(qiáng)大的插件架構(gòu),為開發(fā)人員提供最佳體驗(yàn)的框架。它受到了和的啟發(fā),是目前最快的框架之一。

什么是 Fastify?

Fastify 是一個(gè)高度專注于以最少開銷和強(qiáng)大的插件架構(gòu),為開發(fā)人員提供最佳體驗(yàn)的 Web 框架。

它受到了 HapiExpress 的啟發(fā),是目前最快的 Node 框架之一。

Fastify 獨(dú)特的將 JSON Schema 應(yīng)用到請(qǐng)求時(shí)的 validation 和響應(yīng)時(shí)的 serialization, 作者寫的 fast-json-stringify 包更是達(dá)到了2x faster than JSON.stringify的神奇效果。

為什么要使用 Fastify

100% 異步:框架的核心都是用異步代碼實(shí)現(xiàn)的

高性能:每秒可以提供34000個(gè)請(qǐng)求

可擴(kuò)展:Fastify 通過其鉤子,插件裝飾器完全可擴(kuò)展

基于模式:即使不是強(qiáng)制性的,我們建議使用 JSON Schema 來驗(yàn)證路由并序列化輸出

日志記錄:日志非常重要,但成本高昂,我們選擇了最好的記錄器 Pino

對(duì)開發(fā)者友好:該框架構(gòu)建非常有表現(xiàn)力,不會(huì)犧牲性能和安全性

如何安裝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)建一個(gè)簡單的 Fastify 應(yīng)用?

聲明一個(gè)監(jiān)聽客戶端http://127.0.0.1:3000/的「GET」請(qǐng)求

Fastify返回 { hello: "world" }。

// 加載框架并新建實(shí)例
const fastify = require("fastify")({
  // 開始日志記錄
  logger: true
})

// 聲明路由
fastify.get("/", function(request, reply) {
  reply.send({ hello: "world" })
})

// 啟動(dòng)服務(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 中一切皆為對(duì)象,在 Fastify 中,一切都是插件 (plugin)。

新建一個(gè)基礎(chǔ)的插件

// my-first-pugin.js
async function routes (fastify, options) {
  fastify.get("/", async (request, reply) => {
    return { hello: "world" }
  })
}

module.exports = routes

在服務(wù)器上注冊(cè)這個(gè)插件

const fastify = require("fastify")()

// 注冊(cè)插件
fastify.register(require("./our-first-route"))
// 監(jiān)聽3000端口號(hào),啟動(dòng)
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的選項(xiàng)中設(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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105583.html

相關(guān)文章

  • 《5G網(wǎng)絡(luò)云基礎(chǔ)設(shè)施安全指南》第I部分發(fā)布

    摘要:美國國家安全局和網(wǎng)絡(luò)安全與基礎(chǔ)設(shè)施安全局近期發(fā)布了網(wǎng)絡(luò)云基礎(chǔ)設(shè)施安全指南第部分防止和檢測(cè)橫向移動(dòng)以下簡稱指南。如開篇所述,企業(yè)組織應(yīng)積極使用微分段,以最小化環(huán)境中任何特定網(wǎng)絡(luò)分段危害的爆炸半徑。盡管云計(jì)算將在5G網(wǎng)絡(luò)的成功落地中發(fā)揮著關(guān)鍵作用,但任何新技術(shù)的應(yīng)用都會(huì)帶來安全問題,云計(jì)算也不例外。美國國家安全局(NSA)和網(wǎng)絡(luò)安全與基礎(chǔ)設(shè)施安全局(CISA)近期發(fā)布了《5G網(wǎng)絡(luò)云基礎(chǔ)設(shè)施安全指...

    XBaron 評(píng)論0 收藏0
  • 《推動(dòng)企業(yè)上云實(shí)施指南(2018-2020年)》解讀

    摘要:日前,工業(yè)和信息化部印發(fā)了推動(dòng)企業(yè)上云實(shí)施指南年以下簡稱實(shí)施指南,指導(dǎo)和促進(jìn)企業(yè)運(yùn)用云計(jì)算加快數(shù)字化網(wǎng)絡(luò)化智能化轉(zhuǎn)型升級(jí)。穩(wěn)妥有序?qū)嵤┥显?。為更好推進(jìn)企業(yè)上云工作,實(shí)施指南提出了相關(guān)政策措施。8月10日,信息化和軟件服務(wù)業(yè)司發(fā)布了《推動(dòng)企業(yè)上云實(shí)施指南(2018-2020年)》(以下簡稱實(shí)施指南)解讀?!秾?shí)施指南》顯示,云計(jì)算是推動(dòng)信息技術(shù)能力實(shí)現(xiàn)按需供給、提高信息化建設(shè)利用水平的新技術(shù)、新...

    DevTalking 評(píng)論0 收藏0
  • 概覽 AI在線服務(wù) UAI Inference

    摘要:概覽概覽產(chǎn)品簡介基礎(chǔ)知識(shí)產(chǎn)品優(yōu)勢(shì)機(jī)制產(chǎn)品架構(gòu)設(shè)計(jì)原理彈性擴(kuò)縮容機(jī)制開發(fā)綜述服務(wù)請(qǐng)求方式開源鏡像開源案例學(xué)習(xí)視頻產(chǎn)品定價(jià)快速上手快速上手案例介紹環(huán)境準(zhǔn)備在線服務(wù)代碼簡介 概覽產(chǎn)品簡介UAI-Inference基礎(chǔ)知識(shí)產(chǎn)品優(yōu)勢(shì)Hot-Standby機(jī)制產(chǎn)品架構(gòu)設(shè)計(jì)原理彈性擴(kuò)縮容機(jī)制開發(fā)綜述服務(wù)請(qǐng)求方式開源Docker鏡像開源案例學(xué)習(xí)視頻產(chǎn)品定價(jià)快速上手快速上手(TF-Mnist案例)MNIST ...

    ernest.wang 評(píng)論0 收藏1403
  • [譯]148個(gè)資源讓你成為CSS專家

    摘要:層疊樣式表二修訂版這是對(duì)作出的官方說明。速查表兩份表來自一份關(guān)于基礎(chǔ)特性,一份關(guān)于布局。核心第一篇一份來自的基礎(chǔ)參考指南簡寫速查表簡寫形式參考書使用層疊樣式表基礎(chǔ)指南,包含使用的好處介紹個(gè)方法快速寫成高質(zhì)量的寫出高效的一些提示。 迄今為止,我已經(jīng)收集了100多個(gè)精通CSS的資源,它們能讓你更好地掌握CSS技巧,使你的布局設(shè)計(jì)脫穎而出。 CSS3 資源 20個(gè)學(xué)習(xí)CSS3的有用資源 C...

    impig33 評(píng)論0 收藏0
  • 全解小程序猜數(shù)字游戲 04《 程序員變現(xiàn)指南之 微信&QQ 小程序 真的零基礎(chǔ)開發(fā)寶

    摘要:此時(shí)使用設(shè)置當(dāng)前值中的猜測(cè)值為輸入框的內(nèi)容值。接著判斷猜測(cè)之是否大于或者小于,因?yàn)檫@兩者是范圍之外不再進(jìn)行判斷,所以最開始使用進(jìn)行判斷不能小于不能大于以上代碼中表示調(diào)用微信小程序接口彈出提示,傳入的參數(shù)為提示內(nèi)容。 ...

    不知名網(wǎng)友 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<