soonfy / issue-blog

blog using issue
0 stars 0 forks source link

koa 中间件 #5

Open soonfy opened 6 years ago

soonfy commented 6 years ago

koa middleware

koa

import * as koa from 'koa';
const app = new koa();
app.use((ctx) => {
  ctx.body = data;
})
app.listen(3000);

koa-logger

import * as koa from 'koa';
import * as logger from 'koa-logger';
const app = new koa();
app.use(logger(() => {
  // ...
}))
app.listen(3000);

koa-router

import * as koa from 'koa';
import * as Router from 'koa-router ';
const app = new koa();
let router = new Router({
  prefix: '/admin'
});
router.get('/', async (ctx, next) => {
  // ...
})
app.use(router.routes());
app.use(router.allowedMethods());
app.listen(3000);

koa-bodyparser

import * as koa from 'koa';
import * as bodyParser from 'koa-bodyparser';
const app = new koa();
app.use(bodyParser());
app.use(async (ctx) => {
  ctx.body = ctx.request.body;
})
app.listen(3000);

koa-ejs

import * as koa from 'koa';
import * as render from 'koa-ejs';
import * as path from 'path';
const app = new koa();
render(app, {
  root: path.join(__dirname, 'view'),
  viewExt: 'ejs',
  cache: false,
  debug: true
})
app.use(async (ctx) => {
  ctx.render('admin', adminData);
})
app.listen(3000);

koa-static

import * as koa from 'koa';
import * as serve from 'koa-static';
const app = new koa();
app.use(serve('public'));
app.listen(3000);

koa-cors

import * as koa from 'koa';
import * as cors from 'koa-cors';
const app = new koa();
app.use(cors());
app.listen(3000);

soonfy 2018-03-31

soonfy commented 6 years ago

创建 koa 中间件

const logger = (format) => {
  const reg = /:(\w+)/g;
  return async (ctx, next) => {
    let str = format.replace(reg, (match, property) => ctx[property]);
    console.log(str);
    await next();
  }
}
app.use(logger(':method :url'));

soonfy