如何使用 Fastify 简化 Node.js API 开发

Fastify 是一个快速、简单和低开销的 Node.js Web 框架,是现代化的 Node.js Web 框架之一。它的设计目标是在最少的开销和最大的灵活性之间提供高效率。本文将介绍使用 Fastify 来简化 Node.js API 开发的过程,并提供几个例子来说明这些概念。

安装 Fastify

在开始使用 Fastify 之前,需要先安装它。可以使用 npm (Node.js 包管理器) 从 CLI 安装 Fastify 。在您的项目根目录中执行以下命令来安装 Fastify,命令如下:

--- ------- -------

这应该在您的 node_modules 文件夹中安装 Fastify。

快速开始

让我们从一个简单的 Hello World 实例开始:

----- ------- - ---------------------

---------------- ----- --------- ------ -- -
  ------ ------ --------
---

-------------------- ----- -------- -- -
  -- ----- -
    ------------------
    ---------------
  -
  ------------------- --------- -- ------------
---

在这个示例中,Fastify 实例被创建并反转用于监听来自浏览器的请求。 注册路由并将get路由与请求正文关联。

路由参数

像其他 Web 框架一样,Fastify 提供了实现路由参数的方式。 示例代码:

--------------------- ----- --------- ------ -- -
  ------ ------ -------------------------
---

这个路由可以响应包含一个名为"name"的动态路径段的请求。例如,当浏览器向 http://localhost:3000/John 发送请求时,返回 "Hello John!"。

异步请求处理

Javascript 是单线程的,因此它不会阻塞 I/O 操作。 在处理 CPU 密集型任务时,让它们异步化是很有用的,下面是使用 Fastify 处理异步请求的示例:

------------------------ ----- --------- ------ -- -
  ----- -------- - ----- ----------------------------
  ---------------------------- ------------------------------
  ------ ---------
---

在这个示例中,请求处理程序调用了 callMyLongRunningFunction() ,该函数是一个会阻塞事件循环的耗时任务。它使用 async / await 的一些优点来等待 promise 的解决。请求的回复头被设置为 JSON,并使用 status code "200" 来向浏览器发送 OK。

使用中间件

Fastify 支持将多个路由应用到单个路由的能力。 下面是 SSG( Server-Side Generated)又称后端渲染的实现方法:

---------------------------- ----- --------- ------ -- -
  ----- -------- - ----- ---------------------------------
  ---------------------- - ----------- ---
---

---------------------------- ----- --------- ------ -- -
  ----- -------- - ----- ---------------------------------
  ---------------------- - ----------- ---
---

这里两个路由都与算法操作耗时的函数联动组成了后端渲染。它使用一个共用的模板来执行操作,提供了公用模板。Fastify 支持从插件中注册中间件Function并启动某个路由,中间件的实现如下所示:

----- -------------- - ----- --------- ------ -- -
  -- ----------------- --
-
------------------------- - -------------- ---------------- -- ----- --------- ------ -- -
  ------------ -------- ----------- ------- ---
---

这个路由处理程序用于保护另一些保护着路由,需要验证。其他路由具有中间件,从而将通用代码复用。

结论

使用 Fastify 将帮助开发人员快速构建 Node.js API。 具有清晰的路由语法、中间件功能和异步处理的能力,除了它还提供了一下许多基本的功能。 通过本文所述的内容已经我们掌握了如何使用 Fastify 来简化 Node.js API 开发的过程,并且也是了解您 Node.js及RESTful的一个好的开端。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/670b9c0466ef9cf37faa7c61