Node.js项目

1.1 创建项目
  1. 新建api_server文件夹作为项目根目录,并在项目根目录中运行如下的命令,初始化包管理配置文件:
npm init -y
  1. 运行如下命令,安装特定版本的express
npm i express@4.17.1
  1. 在项目根目录中新建app.js作为整个项目的入口文件,并初始化如下的代码:
// 导入express
const express = require('express')
// 创建服务器实例对象
const app = express()


// 启动服务器
app.listen(3007, () => {
   
    console.log('api server running at http://127.0.0.1:3007');
})
1.2 配置cors跨域
  1. 运行如下命令,安装cors中间件:
npm i cors@2.8.5
  1. 在app.js中导入并配置cors中间件:
// 导入cors中间件
const cors = require('cors')
// 将cors注册成为全局中间件
app.use(cors())
1.3 配置解析表单数据的中间件
  1. 配置解析application/x-www-form-urlencoded格式的表单数据中间件:
app.use(express.urlencoded({
    extends: false }))
1.4 初始化路由相关的文件夹
  1. 在项目根目录中,新建router文件夹,用来存放所有的路由关系。
  2. 在项目根目录中,新建router_handler文件夹,用来存放所有的路由处理函数模块。
1.5 初始化用户路由模块
  1. 在router文件夹,新建uer.js文件,作为用户的路由模块,并初始化代码如下:
const express = require('express')
// 创建路由对象
const router = express.Router()

// 注册新用户
router.post('/riguser', (req, res) => {
   
    res.send('注册成功!')
})

// 登陆
router.post('/login', (req, res) => {
   
    res.send('登录成功')
})

// 将路由对象共享出去
module.exports = router
  1. 在app.js中,导入并使用用户路由模块:
// 导入并注册用户路由模块
const userRouter = require('./router/user')
app.use('/api', userRouter)
1.6抽离用户路由模块中的处理函数

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

  1. 在/router_handler/user.js中,使用exports对象,分别向外共享如下两个路由处理函数:
// 注册新用户的处理函数
exports.regUser = (req, res) => {
   
    res.send('注册成功!')
}

// 登陆的处理函数
exports.login = (req, res) => {
   
    res.send('登录成功')
}


  1. 将/router/user.js中的代码修改为如下结构:
// 导入路由处理函数对应的模块
const user_handler = require('../router_handler/user')

// 注册新用户
router.post('/riguser', user_handler.regUser)

// 登陆
router.post('/login', user_handler.login)

登陆注册

2.1 新建ev_users表

在my_db_01数据库中,新建ev_users表:
在这里插入图片描述

2.2 安装并配置mysql模块

在api接口项目中,需要安装并配置mysql这个第三方模块,来连接和操作mysql数据库:

  1. 运行如下命令,安装mysql模块:
npm i mysql@2.18.1
  1. 在项目根目录中新建/db/index.js文件,在此自定义模块中创建数据库的连接对象:
// 导入mysql模块
const mysql = require('mysql')

// 创建数据库对象
const db = mysql.createPool({
   
    host: '127.0.0.1',
    user: 'root',
    password: '88888888',
    database: 'my_db_01',
})

module.exports = db
2.3 注册
2.3.0 实现步骤
  1. 检测表单数据是否合法
  2. 检测用户名是否被占用
  3. 对密码进行加密处理
  4. 插入新用户
2.3.1 检测表单数据是否合法

判断用户名和密码是否为空:

// 注册新用户的处理函数
exports.regUser = (req, res) => {
   
    // 获取客户端提交到服务器的用户信息
    const userinfo = req.body
    // 对表单中的数据进行合法校验
    if(!userinfo.username || !userinfo.password){
   
        return res.send({
   
            stutas: 1,
            msg: '用户名或密码不能为空!'
        })
    }
    console.log(userinfo);
    res.send('注册成功!')
}
检测用户名是否被占用
  1. 导入数据库操作模块:
const db = require('../db/index')
  1. 定义SQL语句
  2. 执行SQL语句并更具结果判断用户名是否被占用:
// 导入数据库操作模块
const db = require('../db/index')

// 注册新用户的处理函数
exports.regUser = (req, res) => {
   
    // 获取客户端提交到服务器的用户信息
    const userinfo = req.body
    // 对表单中的数据进行合法校验
    if(!userinfo.username || !userinfo.password){
   
        return res.send({
   
            status: 1,
            msg: '用户名或密码不能为空!'
        })
    }
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值