express 从0-1如何创建一个项目 (注册登录接口)

内容参考:
windos下安装mysql
express 使用mysql
express 使用JWT认证

一、创建一个空项目

在这里插入图片描述

二、创建一个包管理工具

npm init -y

在这里插入图片描述

三、安装需要的插件及app.js的部分实现

npm i express   安装express 框架
npm i cors   安装cors 用于跨域
npm install mysql2 安装mysql数据库
npm i bcryptjs 用于加密密码 。加密之后的密码,无法被逆向破解。同一明文密码多次加密,得到的加密结果各不相同,保证了安全性
npm i  @escook/express-joi 自动对表单数据进行验证
npm install joi  用于表单数据验证 解决if else 效率低下问题

创建app.js 及其代码

在这里插入图片描述

// 引入 express 框架
const express = require("express");
const cors = require("cors");
const app = express();

// 将cors 注册成全局中间件 用于跨域
app.use(cors());

// 没有配置json 返回的时undefined   没有配置urlencoded 返回的时{}
// 配置解析application/x-www-form-urlencoded(表单数据)的中间件 
app.use(express.urlencoded({
   
    extends: false }));

// 配置json数据的中间件
app.use(express.json());

const port = 3000;

app.get("/", (req, res) => res.send("Hello World!"));
app.listen(port, () => console.log(`Example app listening on port ${
     
     port}!`));

四、创建路由模块

1、创建文件夹,及对应的文件

1.在项目根目录中,新建 router 文件夹,用来存放所有的 路由 模块
路由模块中,只存放客户端的请求与处理函数之间的映射关系
2.在项目根目录中,新建 router_handler 文件夹,用来存放所有的 路由处理函数模块
路由处理函数模块中,专门负责存放每个路由对应的处理函数
3.在项目根目录中,新建 db文件夹,用于链接数据库
4.在项目根目录中,新建 schema文件夹,用于校验表单数据
5.在项目根目录中,新建 config.js文件,用于存放jwt 配置

在这里插入图片描述

2、连接数据库 db/index.js

const mysql = require("mysql2");

// 2、建立与mysql 数据库的链接
const db = mysql.createPool({
   
   
  host: "127.0.0.1", // 数据库的ip地址
  user: "root", // 登录数据库的账号
  password: "", // 登录数据库的密码
  database: "my_db_01", //指定要操作的数据库
});

module.exports = db;

3、 创建一个用户表

在这里插入图片描述

4、初始化用户模块 router_handler模块在后续 router/user.js

const {
   
    Router } = require("express");

const router = Router();

// 导入user模块路由的处理函数
const userHandle = require("../router_handler/user");

// 注册新用户
router.post("/reguser", userHandle.regUser);
// 登录
router.post("/login", userHandle.login);

module.exports = router;


5、把router模块引入app.js

// 导入用户模块
const userRouter = require("./rooter/user");
// /api请求前缀  user模块中的所有请求都要在前面加上/api
app.use("/api", userRouter);

4、抽离用户模块中的处理函数

目的:为了保证 路由模块 的纯粹性,所有的 路由处理函数 ,必须抽离到对应的 路由处理函数模块 中

1.在 /router_handler/user.js 中,使用 exports 对象,分别向外共享如下两个 路由处理函数

exports.regUser = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值