核心思想
egg的核心思想是使用node通过目录读取到对应的文件,再对app进行扩展。
路由处理
npm init -y
npm i
规范
所有路由,都要放在routes⽂件夹中
若导出路由对象,使⽤ 动词+空格+路径 作为key,值是操作⽅法
若导出函数,则函数返回第⼆条约定格式的对象
4.npm i koa-router -S
5.新建routes/index.js routes/user.js
6.新建loader.js
7.新建index.js作为入口
8.命令行输入node index.js
9.输出结果
10.访问路由
11.新建init.js 封装初始化文件
12.修改index.js文件 执行node inde.js(结果同上)
将routes的业务逻辑抽离至controller层
约定: controller⽂件夹下⾯存放业务逻辑代码,框架⾃动加载并集中暴露
1.新建controller/index.js controller/user.js
2.修改 routes/index.js routes/user.js
- 这里利用了柯里化传入app,将对象改造成接受参数的函数。
3.修改loader.js初始化router逻辑
4.修改init.js
5.loader.js加入初始化controller
6.修改init.js
7.执行node inde.js
8.访问路由
将通用业务逻辑抽离至service文件夹
1.新建service/msg.js
2.loader.js加入初始化service
controller调用service
1.新建controller/msg.js
- 同理这里利用了柯里化传入app,将对象改造成接受参数的函数。
2.修改loader.js初始化controller逻辑
3.修改init.js
4.新建routes/msg.js
5.执行node inde.js
6.访问路由
routes调用service
1.修改routes/msg.js
2.修改loader.js初始化router逻辑
3.执行node inde.js
4.访问路由
接入数据库配置(mongodb)
1.新建model/user.js
2.新建config/index.js
3.loader.js加入初始化config
4.修改init.js
5.新建routes/mog.js
6.执行node inde.js
7.访问路由
接入中间件
1.新建middleware/log.js
2.修改config/index.js
3.修改loader.js初始化config
访问路由
接入定时任务
- npm install egg-schedule -S
1.新建schedule/task.js
2.loader.js加入初始化定时任务
3.修改init.js
node index.js 输出结果