0.1.0 • Published 7 years ago

cl-router v0.1.0

Weekly downloads
4
License
MIT
Repository
gitlab
Last release
7 years ago

A Simple Koa Router

NPM version NPM downloads Build Status Coverage Status MIT License

Install

NodeJS >= 4.6.0

~ npm install cl-router

Example

const middlewareMap = {
  'pre': {
    middlewares: [function*(next){
      this.num = this.num ? this.num + 1: 1;
      console.log('pre before next');
      yield next;
      console.log('pre before next');
    }]
  },
  'preA': {
    middlewares: [function*(next){
      this.num = 1;
      console.log('preA before next');
      yield next;
      console.log('preA after next');
    }]
  },
};
const routerMap = {
  'i': {
    error: {
      middlewares: ['pre', 'preA',function*(next){
        this.num += 1;
        console.log('error before next');
        yield next;
        console.log('error after next');
      }]
    },
    example: {
      commonMiddlewares: ['preA'],
      middlewares: ['pre',function*(next){
        this.num += 2;
        yield next;
      }]
    },
  }
};
const routerM = routerFunc({
  middlewareMap: middlewareMap,
  routerMap: routerMap,
  defaultRouter: ['i', 'error']
});

const koa = require('koa');
const app = koa();

app.use(routerM);
app.listen(8080);

If you visit http://localhost:8080/i/error, console should output like this:

pre before next
preA before next
error before next
error after next
preA after next
pre before next