260615PM

配置1

找到server的终端

执行npm install nodemon,可帮助冷启动,热重载热更新

修改package.json中的"start": "node ./bin/www"为"start": "nodemon ./bin/www"

然后在server终端运行npm start

配置2

在serve下创建config.js

js 复制代码
const config={
    mySql:{
        host:"localhost",
        user:"root",
        password:"密码",
        database:"news"
    }
}

if(process.env.NODE_ENV=="production"){
    config.mySql={
        host:"127.0.0.1",
        user:"root",
        password:"密码",
        database:"news"
    }
}

module.exports=config

在serve下创建db.js

用于创建数据池,并创建一条数据链

js 复制代码
const mysql=require('mysql2')
const config=require("./config")

// 创建数据池
let pool = mysql.createPool({
    host:config.mySql.host,
    user:config.mySql.user,
    password:config.mySql.password,
    database:config.mySql.database
})

// es6 封装公共请求方法
function query(sql){
    return new Promise((resolve,reject)=>{
        pool.getConnection((err,connection)=>{
            if(err) return reject(err)
                connection.query(sql,(err,data)=>{
                    if(err) return reject(err)
                    resolve(data)
                    //关闭这条数据链
                    connection.release()
                })
        })
    })
}

module.exports={
    query
}

把app.js里面的var全部改成const

新增登录板块

登录

登录是一个查询操作

在server/router下新增login.js文件

结构赋值{userName,password}

js 复制代码

在app.js里可以添加和"登录"有关的

js 复制代码
const loginRouter = require('./routes/login');
// ...省略
app.use('/login', loginRouter);

在statusmessages.js里面进行状态码常量管理

统一管理接口返回 code(状态码)和 msg(提示文字)

js 复制代码
const ERROR = {
    code: 188,
    msg:"失败"
}
const ERROR_PARAMS={
    code: 199,
    msg:"缺少必要参数"
}
const ERROR_EXIST={
    code: 201,
    msg:"用户已存在"
}
const ERROR_NOUSER={
    code: 202,
    msg:"用户不存在"
}
const ERROR_PASSWORD={
    code: 203,
    msg:"用户名密码错误"
}
const SUCCESS={
    code: 200,
    msg:"成功"
}
module.exports={
    ERROR,
    ERROR_EXIST,
    ERROR_NOUSER,
    ERROR_PARAMS,
    ERROR_PASSWORD,
    SUCCESS
}

使用postman

测试http://localhost:3000/login

相关推荐
隔窗听雨眠1 小时前
Oracle误Truncate操作恢复:从原理到实战的完整指南
数据库·oracle
Lethehong2 小时前
MySQL迁移如何做到零改造?四层兼容方案详解
数据库·mysql·adb
Json____2 小时前
五金制品行业-企业官网源码
java·大数据·数据库·企业站·wwwoop.com
深念Y3 小时前
Opencode Event 表写入优化方案
数据库·人工智能·ai·node.js·bug·优化·opencode
竹枝溪4 小时前
MySQL进阶:约束、多表设计、多表查询与事务
java·数据库·mysql·事务·子查询·acid·多表查询
weixin_431600444 小时前
NestJS 入门(9):连上数据库,SQL 写在哪?
数据库·后端·sql·学习·nest.js
math_hongfan5 小时前
一对多的数据库姻缘:ArkTS 为鸿蒙订单设计外键与明细表
数据库·华为·harmonyos
杰夫(简道云个人搭建)5 小时前
SAAS系统应该先解决业务问题,再优化体验
数据库·人工智能·低代码·excel·个人开发
城管不管5 小时前
MySQL 慢查询完整排查
java·服务器·jvm·数据库·mysql·spring·面试
XLYcmy5 小时前
PDF论文处理器 - 功能总结
数据库·python·pdf·csv·pymupdf·dify·文本分割