TODO 应用程序是一个非常基础的应用,可以帮助我们更好地了解如何使用 Express 和 Sequelize 来构建一个完整的后端系统。在这篇文章中,我们将介绍如何使用 Express 框架和 Sequelize ORM 构建一个 TODO 应用程序,并且将对每个步骤详细讲解。
准备工作
在开始之前,我们需要安装一些必要的工具和库:
- Node.js:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,我们将使用它来运行后端应用程序。
- npm:npm 是 Node.js 的包管理工具,我们可以使用它来安装和管理依赖。
- Express:Express 是一个流行的 Node.js Web 框架,它可以帮助我们更快地构建 Web 应用程序。
- Sequelize:Sequelize 是一个强大的 Node.js ORM 库,它可以帮助我们更好地管理数据库。
在我们完成准备工作之后,我们可以继续下一步。
初始化项目
我们将通过使用 express-generator
工具来初始化项目。在终端中执行以下命令来安装它:
npm install -g express-generator
接着,在终端中执行以下命令来创建项目:
express --view=pug todo
我们选择了 pug
模板,这是一个非常流行的模板引擎。你也可以使用自己熟悉的模板引擎。
在我们完成项目初始化之后,我们可以继续下一步。
安装依赖
在我们开始编写代码之前,我们需要安装一些必要的依赖。在终端中进入项目目录,并执行以下命令来安装它们:
cd todo npm install --save sequelize sequelize-cli mysql2 body-parser
上述依赖包括:
sequelize
:Sequelize ORM 库。sequelize-cli
:Sequelize 命令行工具。mysql2
:MySQL 驱动程序。body-parser
:解析请求体的中间件。
在我们安装完依赖之后,我们可以继续下一步。
配置数据库
我们需要创建一个数据库来存储 TODO 应用程序的数据。在 MySQL 中,我们可以通过以下命令来创建它:
CREATE DATABASE todo;
接着,我们需要配置 Sequelize 连接到我们的数据库。在项目根目录下创建 config/config.json
文件,内容如下:
-- -------------------- ---- ------- - -------------- - ----------- ------- ----------- --- ----------- ------- ------- ------------ ---------- ------- -- ------- - ----------- ------- ----------- --- ----------- ------------ ------- ------------ ---------- ------- -- ------------- - ----------- --- ----------- --- ----------- --- ------- --- ---------- ------- - -展开代码
这个文件包括了三个环境:development
、test
和 production
。我们只需要在 development
下面配置好我们的数据库连接信息即可。
在配置好之后,我们需要创建一个数据库表。在终端中执行以下命令:
sequelize model:create --name todo --attributes title:string,isCompleted:boolean
上述命令会在 models
目录下创建一个 todo.js
文件,它包括了一个名为 Todo
的 Sequelize 模型和对应的数据库表。
在完成数据库和表的创建之后,我们可以继续下一步。
编写 API
在我们完善了数据库和表的创建之后,我们需要开始编写 API。在 routes
目录下创建一个 todos.js
文件,内容如下:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------ - ----------------- ----- ------ - --------------------- --------------- ----- ----- ---- -- - ----- ----- - ----- --------------------- ------ -------------- -------- --- ---------------- --- ---------------- ----- ----- ---- -- - ----- - ----- - - --------- ----- ---- - ----- -------------------- ------ ------------ ----- --- --------------- --- ------------------ ----- ----- ---- -- - ----- - -- - - ----------- ----- - ------ ----------- - - --------- ----- ---- - ----- ------------------------- -- ------- - ------ ------------------------- -------- - ---------- - ----- -- ----------- ---------------- - ----------- -- ----------------- ----- ------------ --------------- --- --------------------- ----- ----- ---- -- - ----- - -- - - ----------- ----- ---- - ----- ------------------------- -- ------- - ------ ------------------------- -------- - ----- --------------- --------------- --- -------------- - -------展开代码
上述代码包括了 4 个 API 接口:
GET /todos
:获取所有 TODO。POST /todos
:创建一个 TODO。PUT /todos/:id
:更新一个 TODO。DELETE /todos/:id
:删除一个 TODO。
在我们编写完 API 之后,我们可以继续下一步。
启动应用程序
在我们完成了所有的实现之后,我们需要启动应用程序来测试我们的 API 是否正常工作。在终端中执行以下命令:
npm start
这个命令会启动我们的后台应用程序。接着,我们可以使用 Postman
或者其他 API 测试工具来测试我们的 API。在 Postman
中创建一个请求,使用 GET
方法请求 http://localhost:3000/todos
:
-- -------------------- ---- ------- - - ----- -- -------- ------ --------- -------------- ------ ------------ --------------------------- ------------ -------------------------- - -展开代码
我们可以通过使用 POST
方法请求 http://localhost:3000/todos
来创建一个 TODO:
{ "id": 2, "title": "Learn Sequelize", "isCompleted": false, "createdAt": "2021-05-10T08:43:16.000Z", "updatedAt": "2021-05-10T08:43:16.000Z" }
接着,我们可以使用 PUT
方法请求 http://localhost:3000/todos/2
来更新刚刚创建的 TODO:
{ "id": 2, "title": "Learn Sequelize ORM", "isCompleted": true, "createdAt": "2021-05-10T08:43:16.000Z", "updatedAt": "2021-05-10T08:49:16.000Z" }
最后,我们可以使用 DELETE
方法请求 http://localhost:3000/todos/2
来删除 TODO。
在我们测试完所有的 API 之后,我们可以结束这个教程。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67ca455ae46428fe9e23ddae