Koa
基于 Node.js 平台的下一代 web 开发框架
说到Koa,不可避免的就想到了express,算是它的轻便版本吧,公司用的就是Koa v2
来一起跑个小例子
从package.json开始
Koa2走起,node升级到7,新世界很美好,当然node6也可以玩
|
|
来个app.js文件跑跑
|
|
安装npm依赖包
|
|
Koa2跑跑跑
|
|
验收成果
浏览器访问http://localhost:3000 出来个Hello Koa2
给控制台输出信息添砖加瓦
|
|
控制台显示
|
|
结合gulp的nodejs的自动重启神器 — gulp-nodemon
node不会自动重启,不要问我为什么,反正它就是那么任性,那我们就来个gulp任务让它监控下代码变化然后自动重启
|
|
package.json要加2个客人,gulp,gulp-nodemon,顺便把这个gulp用起来
|
|
常用插件
热身完毕,开工,说说需求是个啥?就是一个简单的get/post请求过来,我给你响应
设置路由,说白了就是有个导游 — koa-router
|
|
访问http://localhost:3000/hello/x 出来个Hello, x!
不深入,get是小菜,接下来说post
解析请求数据 — koa-body
官方说明:A full-feature koa body parser middleware
|
|
用DHC模拟个post,地址’localhost:3000/link’,body类型选json,DHC会自动加上Content-Type:application/json的请求头
DHC是一款使用chrome模拟REST客户端向服务器发送测试数据的谷歌浏览器插件。
|
|
返回啥呢?1234567{ "code": "0", "description": "ok", "result": { "name": "x" }}
logger信息再优化下 – koa-logger
|
|
项目内用起来
|
|
重要特性async/await,加料了!!!
暂时还要babel来帮忙,引入以下的package
|
|
babel入口文件
|
|
gulp任务的监控对象也从app.js变成了index.js
有人走错路怎么办?
|
|
把之前的get变成一个栗子
|
|
好了,可以去叫床~哦不,起床。。。
访问http://localhost:3000/hello/koa 出来个Hello, koa!
别等了,料加在汤里~哦不,控制台里了
|
|
最终代码
目录结构
├─ app.js // 核心文件
├─ gulpfile.js // gulp任务
├─ index.js // babel入口
└─ package.json // 配置文件