cxl-node-template
项目介绍
适应前后端分离开发的一款基于node快速接口简单开发脚手架(模板),集成了mysql,redis的存储,一键式配置,模块层层分离,适应小型项目的后端开发框架。
- 整合Node.js+express
- 整合MySQL5,6数据库
- 整合Redis缓存数据库
- 文件单/多上传功能(附示例)
- 统一返回值封装
- 统一UUID生成
- websocket整合
部署运行
1.克隆项目
git clone https://github.com/18696232390/cxl-node-template.git
2.安装依赖
cd cxl-node-template
npm install # 或 npm i
3.启动访问
npm start
访问127.0.0.1:10317,您将会看到如下页面,证明启动成功
4.相关配置
系统默认集成了MySQL和Redis(默认关闭)
4.1 修改mysql配置
找到文件 \config\baseConfig.js文件
修改sql对象改成您的数据库配置即可,showSql
用来启动后运行时命令行里面是否显示执行的sql语句
sql:{
host:'127.0.0.1',
port:'3306',
user:'root',
password:'root',
database:'test',
showSql:true // 是否显示sql
},
4.2 启用和修改redis配置
找到文件 \config\baseConfig.js文件
修改redis对象即可,默认是不使用redis,若想使用,请修改isOpen
为true
即可!
用户名密码尚未实现
redis: {
isOpen: false,
ip: '127.0.0.1',
port: 6379,
username: '',
password: ''
}
二次开发指南
1.接口开发
1.1 创建第一个接口
在/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;
1.2 注册接口
在/app.js
里面
app.use('/test', require(__dirname + '/src/api/helloWorldApi'));
1.33.启动访问
http://127.0.0.1:10317/test/test
可以看到页面上返回
{
"code": "1",
"msg": "调用接口成功",
"data": "HelloWorld",
"request_time": 1618906315494
}
2.操作MySQL
2.1 引入MySQL工具类
系统已经默认初始化mysql连接,无需自己初始化
const dbUtils = require('../../utils/dbUtils')
2.2 查询数据
使用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)
})
2.3 更新数据
使用dbUtils.update(sql)
进行更新/修改/删除
var sql = " DELETE FROM SYS_USER WHERE ID = '" + id + "' ";
dbUtils.update(sql)
.then(res => {
resolve(res)
}).then(err => {
reject(err)
})
3.Redis操作
3.1 引入redis工具类
const redisUtils = require('../../utils/redisUtils')
注意要开启redis功能
3.2 存入redis
语法:
redisUtils.set(key , 数据)
案例:
redisUtils.set(bizConst.userConst.REDIS_KEY, JSON.stringify(res))
3.3 取数据
语法:
redisUtils.get(值的key).then(res=>{
// .. res为存入的数据
})
案例:
redisUtils.get(bizConst.userConst.REDIS_KEY).then(redisResult => {
// 业务代码
})
3.4 删除数据
语法:
redisUtils.del(值的key)
案例:
redisUtils.del(bizConst.userConst.REDIS_KEY)
开发进度
功能名称 | 是否完成 | 完成时间 |
---|---|---|
|
是 | 2021年3月27日 |
|
是 | 2021年4月17日 |
|
是 | 2021年4月17日 |
|
是 | 2021年4月17日 |
|
是 | 2021年4月17日 |
|
是 | 2021年4月17日 |
|
是 | 2021年4月20日 |
|
否 | 待实现 |
|
否 | 待实现 |
|
否 | 待实现 |
参考
技术点 | 原创链接 |
---|---|
redis简单使用 | https://segmentfault.com/a/1190000015882650 |
单/多文件上传 | https://github.com/acexyf/multerDemo/ |