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

相关推荐
这个DBA有点耶4 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G4 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备4 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远4 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
2601_962218614 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
张洛闻Eren4 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安4 天前
MySQL-触发器
数据库·mysql
白远山4 天前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析
Omics Pro4 天前
斯坦福Nature+Science|广义虚拟细胞基础大模型
数据库·人工智能·算法·机器学习·自然语言处理
2603_965148114 天前
AI+API选品:下一代智能商务助手雏形已现
java·大数据·数据库·人工智能·数据挖掘