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

相关推荐
Quincy_Freak2 小时前
信创内网数据规范实践:银河麒麟下SQLite本地数据安全管理方案
数据库·sqlite·arm·数据库管理·大数据分析·银河麒麟·aarch64
2601_962683894 小时前
治理遗留系统中的“生肉 SQL”:一次用多模型协作优化慢查询的实战复盘
数据库·人工智能·sql
酱学编程4 小时前
【从零到一实现一个 AI Agent 框架 · 第四篇】04. 任务规划:拆解复杂目标 -
服务器·网络·数据库·人工智能
shushangyun_5 小时前
2026智能采购商城系统选型指南:如何引领企业数字化采购升级
java·大数据·数据库·人工智能·机器学习
华山令狐虫6 小时前
DBAPI AI 写 SQL:支持动态 SQL 与参数占位符,自然语言一键生成
数据库·人工智能·sql·dbapi
IvorySQL7 小时前
PG 技术日报|2026-07-04
数据库·人工智能·postgresql·开源
Hoxy.R7 小时前
KingbaseES读写分离高可用集群扩容、备库重建与故障切换实战
运维·数据库
IvorySQL7 小时前
IvorySQL HTAP 实时湖仓接入引擎
数据库·postgresql·开源·htap·ivorysql
忧郁的紫菜7 小时前
WCF+JSON+实体对象与WebService+DataSet效率大比拼
数据库·oracle·json
IvorySQL8 小时前
PostgreSQL 技术日报|2026-07-05
数据库·postgresql