现在的位置: 首页 > web前端 > 正文

koa实例和代码

2020年07月06日 web前端 ⁄ 共 1062字 ⁄ 字号 评论关闭

  现在我们已经实现了request.js、response.js,获取到了request、response对象和他们的封装的方法,然后我们开始实现context.js,context的作用就是将request、response对象挂载到ctx的上面,让koa实例和代码能方便的使用到request、response对象中的方法。


  koa实例和代码


  现在我们创建context.js文件,输入如下代码:


  letproto={};


  functiondelegateSet(property,name){


  proto.__defineSetter__(name,function(val){


  this[property][name]=val;


  });


  }


  functiondelegateGet(property,name){


  proto.__defineGetter__(name,function(){


  returnthis[property][name];


  });


  }


  letrequestSet=[];


  letrequestGet=['query'];


  letresponseSet=['body','status'];


  letresponseGet=responseSet;


  requestSet.forEach(ele=>{


  delegateSet('request',ele);


  });


  koa如何挂载


  requestGet.forEach(ele=>{


  delegateGet('request',ele);


  });


  responseSet.forEach(ele=>{


  delegateSet('response',ele);


  });


  responseGet.forEach(ele=>{


  delegateGet('response',ele);


  });


  module.exports=proto;


  总之,context.js文件主要是对常用的request和response方法进行挂载和代理,通过context.query直接代理了context.request.query,context.body和context.status代理了context.response.body与context.response.status。而context.request,context.response则会在application.jskoa中挂载。

【上篇】
【下篇】

抱歉!评论已关闭.