• 技术文章 >web前端 >js教程

    分享一个Nodejs web框架:Fastify

    青灯夜游青灯夜游2022-08-04 21:23:15转载108
    本篇文章给大家分享一个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

    FrameworkVersionRouter?Requests/sec
    Express4.17.314,200
    hapi20.2.142,284
    Restify8.6.150,363
    Koa2.13.054,272
    Fastify4.0.077,193
    -


    http.Server16.14.274,513

    Fastify支持的特性

    Fastify支持的 plugins

    截止到目前, 48个核心插件 、179个社区插件

    1.png

    那么,如何使用呢?

    初始化

    创建工程

    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]),更多的使用用法, 可以点击链接类似下发,跳转链接进尝试~

    2.png

    const fastifySession = require('fastify-session')
    
    fastify.register(fastifySession, {
        cookieName: 'sessionId',
        secret: 'a secret with minimum length of 32 characters',
        cookie: { secure: false },
        expires: 1800000
    })

    更多使用

    相关link

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

    以上就是分享一个Nodejs web框架:Fastify的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:掘金社区,如有侵犯,请联系admin@php.cn删除
    专题推荐:Fastify web框架 Node.js node
    上一篇:深入了解JavaScript中的事件冒泡与捕获 下一篇:JavaScript实例解析之window页面加载事件
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 聊聊Node.js中的多进程和多线程• 怎么使用pkg将Node.js项目打包为可执行文件?• 怎么利用node生成word文档?使用库分享• Node.js怎么实现分片上传?方法介绍• Node.js各版本间有什么区别?如何选择合适的版本?
    1/1

    PHP中文网