koa-adapter
use 1.0 middlewares in koa 2.0
Last updated 2 years ago by th507 .
MIT · Repository · Bugs · Original npm · Tarball
$ cnpm install koa-adapter 
SYNC missed versions from official npm registry.

Koa Adapter

NPM version build status

Never have to worry about Koa's middleware compatibility.

Koa-adapter enables you to use 1.0 middlewares in Koa 2.0+.

Installation

$ npm install koa-adapter

Example

You could choose one of the two methods.

Adapt individual middleware

const adapt = require("koa-adapter")

// koa-logger@1 only support koa@1
const logger = require("koa-logger")
const koa = require("koa")

const app = new Koa()
// use legacy middlewares with adapt(...)
app.use(adapt(logger))

// and new ones directly
app.use(ctx => {
  ctx.body = "Hello world"
})

Modify Koa::use

Support old (generator) middleware and the new middleware syntax

const Adapter = require("koa-adapter").Adapter

const _Koa = require("koa")
// create a thin wrapper for Koa::use
const Koa = Adapter(_Koa)

const app = new Koa()

// use Koa 1.0 middleware
app.use(function*(next) {
  const start = Date.now()

  yield next

  const ms = Date.now() - start
  console.log(`${this.method} ${this.url} - ${ms}ms`)
})

// or use new syntax
app.use(ctx => {
  ctx.body = "Hello World"
})

// or use `async` function (Babel required)
app.use((ctx, next) => {
  const start = new Date
  await next()
  const ms = new Date - start
  console.log(`${ctx.method} ${ctx.url} - ${ms}ms`)
})

License

Copyright (c) 2015 Jingwei "John" Liu

Licensed under the MIT license.

Maintainers (1)
Downloads
Today 2
This Week 2
This Month 12
Last Day 0
Last Week 5
Last Month 27
Dependencies (2)
Dev Dependencies (7)
Dependents (1)

Copyright 2014 - 2016 © taobao.org |