利用 Fastify 和 TypeORM 开发的实用性示例

阅读时长 9 分钟读完

Fastify 是一个快速和低开销的 Web 框架,TypeORM 是一个流行的 TypeScript ORM 框架,两者的结合可以轻松地开发出高质量的实用性 Web 应用。在本文中,我们将通过一个示例来介绍如何快速搭建一个使用 Fastify 和 TypeORM 的 Web 应用。

应用场景

本应用实现一个简单的待办事项,支持添加、编辑、删除和查询事项的基本操作。主要涉及到此类关系型数据库的增删改查操作,同时也可以方便地扩展到其他的业务场景。

环境准备

在开始之前,我们需要确保已经安装好以下环境:

  1. Node.js
  2. TypeScript
  3. MySQL 数据库

快速开始

1.初始化项目

使用以下命令初始化一个新项目:

  1. 安装依赖

安装 Fastify 和 TypeORM:

同时,我们还需要安装一些相关的类型,以让 TypeScript 能够正确地识别这些库:

  1. 创建数据库

创建一个名为 todo 的数据库,并在其中创建一个名为 todo 的表。

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

--- -----

------ ----- ---- -
  -- --- -------------- ------- ----
  ---- ------------ --- -----
  ------ ------- --- ---- ------- ------
  ------------ --------- --- ---- ------- ------------------
  ------------ --------- --- ---- ------- ----------------- -- ------ -----------------
--
  1. 创建实体

我们需要创建一个 Todo 实体类,对应着表中的记录,代码如下:

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

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

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

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

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

  -------------------- - -------- -- -- -------------------- --------- ------------------- --
  ------------- -------
-
  1. 创建 DAO

创建一个 TodoDAO 类,用于对应 Todo 实体类与数据库之间的操作,使用 @InjectRepository 装饰器来注入实体类对应的 Repository 对象,代码如下:

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

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

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

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

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

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

  ----- ---------- -------- ------------- -
    ----- ---------------------
  -
-
  1. 创建控制器

创建一个 TodoController 控制器,用于处理 HTTP 请求,代码如下:

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

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

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

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

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

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

  ---------------
  ----- --------------- ---------------- ------- - --- ------ - ---- ------------- -
    ----- - -- - - ---------------
    ----- ------------------------
  -
-
  1. 创建应用

创建一个 server.ts 文件,用于定义 Fastify 应用并启动服务器,代码如下:

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

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

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

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

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

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

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

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

--------

我们使用了 fastify-cors 和 fastify-swagger 插件来分别启用跨域支持和自动生成 API 文档的功能。

  1. 运行应用

使用以下命令来启动应用:

运行成功后可以在 localhost:3000/docs 看到自动生成的 API 文档。

总结

在本文中,我们介绍了如何快速搭建一个使用 Fastify 和 TypeORM 的实用性 Web 应用。使用 Fastify 和 TypeORM,我们可以轻松地完成对数据库的增删改查操作,并且代码结构清晰易于维护。如果你希望深入学习这两个框架,可以参考官方文档,也可以看看社区中优秀的开源项目。希望这篇文章能对你有帮助!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64aa84a948841e98946a3700

纠错
反馈