前言
这一章写的很没有底气,因为我完全不懂一个正经的后台应用是怎么结构分层的,
所有只能按照我自己的理解去写,即使这样也仅仅只分离出了controller层,
至于所谓的service层,dao层,完全不懂该怎么分离出来。
所以这一章仅供参考。如果有人能指点一下,不胜感激。
正文
数据库是采用的mysql,所以需要在本机安装一个mysql。
具体安装这里不多说了,请移步 菜鸟教程。
置于MySQL图形化管理工具推荐使用 navicat 或者 heidisql
1 安装依赖
npm install koa-session-minimal koa-mysql-session mysql --save
2 配置数据库和session
config 目录下新建 config.js 放置配置文件。
const database = {
host: '127.0.0.1',// 数据库地址,本机默认127.0.0.1
port: 3306,// 数据库默认端口
database: 'koa2db',// 数据库名字
user: 'root',// 数据库默认用户名
password: 'XXXX'// 你设置的数据库密码
}
module.exports = {
database: database
}
改造根目录下的 app.js
// 配置session
app.use(session({
key: 'USER_SID',
store: new MysqlStore(mysqlConfig),
cookie: {
maxAge: 1000 * 60 * 60 * 24, // cookie有效时长
overwrite: false
}
}))
具体如图:
然后运行项目,看是否在数据库中自动创建了一个 _mysql_session_store 的表。 如果成功说明配置成功。
3 配置接口,分离controller
在目录 router 中新建 api 目录,放置各模块接口。再新建api.js作为 api的入口文件。
我们可以在里面加入一些测试接口,捕获不存在的接口、输出不存在的错误接口方便排查。
api.js
const router = require('koa-router')();
const user = require('./api/user.js');
router.prefix('/api'); // 统一定义接口前缀都为api, 之后写的所有接口都在api下。
user(router);
/* 测试接口 */
router.g