🌙基于node+express+mysql 快速开发脚手架
适应前后端分离开发的一款基于node快速接口简单开发脚手架(模板),集成了mysql,redis的存储,一键式配置,模块层层分离,适应小型项目的后端开发框架。
- 整合Node.js+express
- 整合MySQL5,6数据库
- 整合Redis缓存数据库
- 文件单/多上传功能(附示例)
- 统一返回值封装
- 统一UUID生成
- websocket整合
git clone https://github.com/18696232390/cxl-node-template.git
cd cxl-node-template
npm install # 或 npm i
npm start
访问127.0.0.1:10317,您将会看到如下页面,证明启动成功
系统默认集成了MySQL和Redis(默认关闭)
找到文件 \config\baseConfig.js文件
修改sql对象改成您的数据库配置即可,showSql
用来启动后运行时命令行里面是否显示执行的sql语句
sql:{
host:'127.0.0.1',
port:'3306',
user:'root',
password:'root',
database:'test',
showSql:true // 是否显示sql
},
找到文件 \config\baseConfig.js文件
修改redis对象即可,默认是不使用redis,若想使用,请修改isOpen
为true
即可!
用户名密码尚未实现
redis: {
isOpen: false,
ip: '127.0.0.1',
port: 6379,
username: '',
password: ''
}
在/src/api/
下创建helloWorldApi.js,引入如下头部
const express = require('express');
const router = express.Router();
const apiUtils = require('../../utils/apiUtils')
router.get('/test',async (req, res) => {
try {
apiUtils.sendSuccessMsg(res,"HelloWorld")
} catch (error) {
apiUtils.sendErrorMsg(res)
}
})
module.exports = router;
在/app.js
里面
app.use('/test', require(__dirname + '/src/api/helloWorldApi'));
http://127.0.0.1:10317/test/test
可以看到页面上返回
{
"code": "1",
"msg": "调用接口成功",
"data": "HelloWorld",
"request_time": 1618906315494
}
系统已经默认初始化mysql连接,无需自己初始化
const dbUtils = require('../../utils/dbUtils')
使用dbUtils.query(sql)
进行查询
var sql = "SELECT * FROM SYS_USER WHERE USER_NAME = '" + username + "' AND PASS_WORD = '" + password + "'";
dbUtils.query(sql)
.then(res=>{
resolve(res)
}).then(err=>{
reject(err)
})
使用dbUtils.update(sql)
进行更新/修改/删除
var sql = " DELETE FROM SYS_USER WHERE ID = '" + id + "' ";
dbUtils.update(sql)
.then(res => {
resolve(res)
}).then(err => {
reject(err)
})
const redisUtils = require('../../utils/redisUtils')
注意要开启redis功能
语法:
redisUtils.set(key , 数据)
案例:
redisUtils.set(bizConst.userConst.REDIS_KEY, JSON.stringify(res))
语法:
redisUtils.get(值的key).then(res=>{
// .. res为存入的数据
})
案例:
redisUtils.get(bizConst.userConst.REDIS_KEY).then(redisResult => {
// 业务代码
})
语法:
redisUtils.del(值的key)
案例:
redisUtils.del(bizConst.userConst.REDIS_KEY)
功能名称 | 是否完成 | 完成时间 |
---|---|---|
🌟基本的node框架+解决跨域 | 是 | 2021年3月27日 |
🌟整合Mysql | 是 | 2021年4月17日 |
🌟整合Redis | 是 | 2021年4月17日 |
🌟封装返回实体 | 是 | 2021年4月17日 |
🌟封装mysql+redis | 是 | 2021年4月17日 |
🌟封装单/多文件上传 | 是 | 2021年4月17日 |
🌟整合websocket | 是 | 2021年4月20日 |
📌封装mysql分页功能 | 否 | 待实现 |
📌整合封装ElasticSearch | 否 | 待实现 |
📌整合封装相关OSS接口 | 否 | 待实现 |
技术点 | 原创链接 |
---|---|
redis简单使用 | https://segmentfault.com/a/1190000015882650 |
单/多文件上传 | https://github.com/acexyf/multerDemo/ |