Skip to content

http,query处理,method处理,header处理,body请求体的处理,
json的处理,upload上传文件,static file静态文件服务器等等。

express官方文档
espress中文文档
express最早的服务器框架,成熟稳定
n-blog一个基于express的简单项目参考
thenjs可以避免回调过深的问题

koa官方文档
koa中文文档
co官方仓库
koa 1.0 yield/generator,co
koa 2.0 asycn/await
路由配置
中间件
请求上下文

egg官网
egg,基于koa,扩展了很多用于企业项目开发的插件,路由,定时任务,session会话,安全性,model,模板渲染,网络请求,环境配置,日志,多进程,并发与集群等等,最重要的是它规范的文件加载方式,方便的扩展和统一的项目结构。
egg提供了脚手架工具和几个项目模板用以快速初始化一个项目

bash
npm i -g -d egg-init # 安装egg-init脚手架工具
egg-init egg-example --type=simple
#      项目目录       模板类型
初始化项目时命令行工具会提示输入与项目相关的一些信息,依次输入即可
npm run dev # 启动项目

restful风格的api设计。
阮老师的RESTful API设计指南
主要是根据不同的请求方法执行相应操作,比如对于同一个url地址,post请求进行新增,put更新多个字段数据,patch进行单个字段更新,delete执行删除操作,get执行查询。在路由命名上,每个url地址都能反应出一条或多条资源,比如 /apple/:id 是针对具体的apple进行操作,/apples 是针对多个apple执行操作。
服务器执行结果应反应在返回的状态码中,如正常状态码为200,错误状态码为400,并提供错误描述,等等。
更高级点的,在返回的数据中提供其它接口地址,使调用者不查看文档就能知道下一步要做什么,github就是这样设计的,api.github.com,获取可用接口列表,再调用要使用的接口获取数据。