使用 Fastify 和 MySQL 构建 Node.js API

简介

Fastify 是一个基于 Express 和 Hapi 的 Node.js 框架。它的目标是提供更好的性能和更小的开销。MySQL 是一种流行的关系型数据库,长期以来一直是 Web 开发的重要组成部分。在本文中,我将向您介绍使用 Fastify 和 MySQL 构建 Node.js API 的过程。

快速入门

在开始本教程之前,您应该知道如何用 Node.js 和 npm 安装包。您还需要一个运行 MySQL 的本地或远程服务器。为了简便起见,本教程的示例将使用本地服务器。

首先,安装必要的包:

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

然后,让我们创建一个 index.js 文件并进行一些基本设置:

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

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

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

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

我们使用 Fastify 创建了一个简单的路由并引入了 MySQL 组件。我们还创建了一个 MySQL 连接并将其存储在 connection 变量中。接下来,我们将在 '/users' 路由下添加用户列表端点:

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

这个路由将查询 MySQL 中的 users 表并返回所有用户的数据。现在,我们可以使用 Fastify 运行这个应用程序:

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

在浏览器中打开 http://localhost:3000/users,您应该能够看到返回的所有用户数据。

建议与最佳实践

使用 Fastify 插件

Fastify 具有可插拔设计,使您可以使用各种插件来增强应用程序的功能。Fastify 社区提供了许多构建 Web 应用程序所需的插件。以 fastify-cors 为例,它可以方便地启用跨域资源共享:

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

使用 Promise

您可以使用 Promise 对象来更方便地管理异步代码。例如,使用 Promise 可以更好地处理查询结果。

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

使用环境变量

为了更好地将应用程序从开发环境转移到生产环境,使用环境变量来存储敏感信息(如数据库凭据)是一个好习惯。使用 dotenv 可以很容易地从 .env 文件中读取环境变量:

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

结论

在本文中,我们介绍了如何使用 Fastify 和 MySQL 构建 Node.js API。我们创建了一个能够查询数据库并返回数据的端点。我们还提到了一些最佳实践,例如使用 Fastify 插件、Promise 和环境变量。希望这篇文章能够帮助您构建更好的 Web 应用程序。

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