原理:
- 次の例のように、オブジェクトインスタンスKOAコールバック関数の使用方法は、App.use((CTX、次)=> {})、CTX、次の二つのパラメータがあります。
- 缶CTXのリクエスト、レスポンスオブジェクトには、あなたは、次の方法で呼び出されていない場合、我々は次のミドルウェアを継続することはできません)だけを呼び出し、次の(次のミドルウェアを呼び出します、それに応じて終了することができます
アプリケーション:
- アプリケーションミドルウェア
リクエストがちょうどサービスに入ったときは、機能が実行されなければならない、ミドルウェアを介して達成することができます
/**
* 应用级别中间件
* */
const Koa = require('koa');
const Router = require('koa-router')();
const App = new Koa();
App.use((ctx,next)=>{
ctx.body = {};
ctx.body.date = new Date();
next()
});
Router.get('/',function (ctx,next) {
ctx.body.content='hello world'
})
Router.get('/news',function (ctx,next) {
ctx.body.content = "新闻页面"
})
App.use(Router.routes());
App.use(Router.allowedMethods());
App.listen(3000,()=>{
console.log('queck start at port 3000')
})
- ルートミドルウェア
要求の前に何かをします
/**
* 应用级别中间件
* */
const Koa = require('koa');
const Router = require('koa-router')();
const App = new Koa();
Router.get('/',function (ctx,next) {
ctx.body ={};
console.log('请求了/');
next();
})
Router.get('/news',function (ctx,next) {
ctx.body ={};
console.log('请求了/news');
next();
})
Router.get('/',function (ctx,next) {
ctx.body.content='hello world'
})
Router.get('/news',function (ctx,next) {
ctx.body.content = "新闻页面"
})
App.use(Router.routes());
App.use(Router.allowedMethods());
App.listen(3000,()=>{
console.log('queck start at port 3000')
})
アクセスのhttp:// localhostを:3000 '要求/' {内容: 'こんにちは世界'}
訪問のhttp:// localhostを:3000 /ニュース要望/ニュース '{内容: 'ニュースページ'}