Circe
A framework based on Koa v2.
基于Koa v2的开发框架。
关于发音
英语:Circe[ˈsə:si]
中文:瑟茜[sè xī]
一、安装
$ npm install circe --save
二、入门
基于Koa2
开发,保留与之相同的用法,所有api和中间件均兼容
// Koaconst Koa = const app = appapp // Circeconst Circe = const circe = circecirce
Koa实例对象的属性都有(具体的作用请查看Koa官方文档):
- use
- toJSON
- inspect
- on
- proxy
- middleware
- subdomainOffset
- env
- context
- request
- response
- keys
三、进阶
1. 可获得Koa实例和http server实例
const Circe = const circe = // koa实例console // server实例,可用于其他框架的结合,如socket.ioconsole
2. 更多的实例方法
circe.route(Router) 注册路由,传入路由对象
const Circe = const router = routerrouter circe
circe.route(String) 注册路由,传入路由目录
//////// apis/user.js ////////////////////const Circe = const router = routerrouter moduleexports = router //////// app.js ////////////////////const path = const Circe = // 将导入apis目录下的所有路由文件circe
circe.inject(key, value) 注入内容到context,传入键和值参数
const Circe = const circe = circecircecirce circe
circe.inject(object) 注入内容到context,传入对象和前缀
const Circe = const circe = circecirce circe
3. 内置中间件全家桶
内置的中间件全都绑定在Circe
类上,不需要再去npm或github上需找和对比需要的中间件,更多的中间件正在丰富中。
- Circe.Router 引用
koa-router@7
- Circe.bodyParser body解析器
- Circe.checker 参数验证器
- Circe.jwt jwt验证
- Circe.unless 中间件过滤
- Circe.cors 跨域请求
- Circe.logger 引用
concurrency-logger
- Circe.onError 拦截500错误
4. 拓展的context
除了koa自带的context方法和属性,circe对context进行了拓展:
- ctx.success(data[, code]) 成功响应,详细文档查看responseApis
- ctx.fail(msg[, code]) 错误响应,详细文档查看responseApis
5. 实用工具库
config 配置文件管理
const Circe = // 根据环境变量,读取目录下配置文件,支持多级目录const config = Circeconfig
示例1:
- config
- default.js
- development.js
- production.js
如有以上目录结构,且当前运行环境为development
,将会整合default.js
和development.js
作为导出对象。
示例2
- config
- default
- app.js
- development
- app.js
- db.js
- production
- app.js
- db.js
- other.js
- default
如有以上目录结构,且当前运行环境为production
,将会整合default
、production
目录下所有文件作为导出对象。
导出对象结构为:
6. 支持typescript
已添加对typescript
的声明,详情请看index.d.ts
const circe =
模板项目
circe-template - circe + babel circe-template-ts - circe + typescript