New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

circe

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

circe

> A framework based on Koa v2.

  • 1.0.4
  • npm
  • Socket score

Version published
Weekly downloads
5
decreased by-37.5%
Maintainers
1
Weekly downloads
 
Created
Source

Circe

A framework based on Koa v2.

基于Koa v2的开发框架。

关于发音

英语:Circe[ˈsə:si]

中文:瑟茜[sè xī]

安装

npm install circe --save

特性列表

特性一:跟Koa一模一样的用法

// Koa
const Koa = require('koa')
const app = new Koa()
app.use(/* 中间件 */)
app.listen(8080. function () {/* 回调 */})

// Circe
const Circe = require('circe')
const circe = new Circe()
circe.use(/* 中间件 */)
circe.listen(8080. function () {/* 回调 */})

Koa实例对象的属性都有(具体的作用请查看Koa官方文档):

  • use
  • toJSON
  • inspect
  • on
  • proxy
  • middleware
  • subdomainOffset
  • env
  • context
  • request
  • response
  • keys

特性二:可获得Koa实例和http server实例

const Circe = require('circe')
const circe = new Circe()

// koa实例
console.log(circe.app)

// server实例,可用于其他框架的结合,如socket.io
console.log(circe.server)

特性三:更多的实例方法

circe.route(Router) 注册路由,传入路由对象

const Circe = require('circe')
const router = new Circe.Router()

router.get('/user', async () => { /* 中间件 */ })
router.post('/user', async () => { /* 中间件 */ })

circe.route(router)

circe.route(Router) 注册路由,传入路由目录

//////// apis/user.js ////////////////////
const Circe = require('circe')
const router = new Circe.Router()

router.get('/user', async () => { /* 中间件 */ })
router.post('/user', async () => { /* 中间件 */ })

module.exports = router

//////// app.js ////////////////////
const Circe = require('circe')

// 将导入apis目录下的所有路由文件
circe.route('./apis')

circe.inject(key, value) 注入内容到context,传入键和值参数

const Circe = require('circe')
const circe = new Circe()

circe.inject('$hello', function () { console.log('hello') })
circe.inject('$a.b', 'test' })

circe.use(asynct (ctx, next) => {
  ctx.$hello() // 打印'hello'
  ctx.$a.b // 'test'
})

circe.inject(key, value) 注入内容到context,传入对象和前缀

const Circe = require('circe')
const circe = new Circe()

circe.inject({a: 1, b: 2})
circe.inject({c: 3, d: 4}, '$')
circe.inject({e: 5, f: 6}, 'test.')
circe.inject({g: 7, h: 8}, 'test.$')

circe.use(asynct (ctx, next) => {
  ctx.a // 1
  ctx.b // 2
  ctx.$c // 3
  ctx.$d // 4
  ctx.test.e // 5
  ctx.test.f // 6
  ctx.test.$g // 7
  ctx.test.$h // 8
})

特性四:中间件全家桶

内置的中间件全都绑定在Circe类上,更多的中间件正在丰富中,致力于实现项目的单一依赖,不需要再去npm或github上需找和对比需要的中间件。

特性五:拓展的context

除了koa自带的context方法和属性,circe对context进行了拓展:

  • ctx.success(data[, code]) 成功响应,详细文档查看responseApis
  • ctx.fail(msg[, code]) 错误响应,详细文档查看responseApis

Keywords

FAQs

Package last updated on 05 Jan 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc