koa-interceptors

0.1.5 • Public • Published

koa-interceptors

An interceptors middleware for koa2

NPM Version Download Status Dependencies

Introduction:

The interceptor automatically associates the router with the controller.

Usage

app.js

'use strict';
 
// modules
const koa = require('koa');
const convert = require('koa-convert');
const session = require('koa-session');
const Interceptors = require('koa-interceptors');
 
// app
const app = new koa();
// interceptors
const interceptors = new Interceptors();
 
// use session
interceptors.use(convert(session()));
 
// load routes
app.use(interceptors.routes());

/routers/home/login.js

'use strict';
 
module.exports = {
  '/login': [
    {
      action: 'login' // page action
    },
    {
      method: 'post', // if get can be omitted
      action: 'validate-login' // page action
    }
  ]
};

/controllers/home/login.js

'use strict';
 
module.exports = {
  login: ctx=>{
    // page action logic
  },
  'validate-login': ctx=>{
    // page action logic
  },
};

Install

$ npm install koa-interceptors --save

API

Interceptors([routers, controllers, options])
  • routers: the routers base dir.
  • controllers: the controllers base dir.
  • options: the koa-router options.
Others see: koa-router

Notice

The interceptor will add a property routeData on koa ctx.

Package Sidebar

Install

npm i koa-interceptors

Weekly Downloads

1

Version

0.1.5

License

MIT

Last publish

Collaborators

  • nuintun