1、koa 核心:use方法和ctx的方法
2、app.on 监控错误
3、app.listen 端口设置
4、app.use 请求到来时执行的函数
ctx.req.url=ctx.request.req.url=ctx.request.url=ctx.url 通过req做了中转
中转:通过自己的request上的属性,可以重新扩展属性。
context 上下文 req,res 原生的,request,response koa 自己封装的对象,基于req,res来封装的 => context 。
const Koa=require('./koa');
// 需要先实例化一个Koa的实例
const app=new Koa();
// middleware 中间件
// context 上下文 req,res 原生的,request,response koa 自己封装的对象,基于req,res来封装的 => context 。
app.use(function(ctx){ //请求到来时执行的函数
console.log(ctx.req.url); //pathname
console.log(ctx.request.req.url);
//中转 通过自己的request上的属性,可以重新扩展属性,
console.log(ctx.request.url);
console.log(ctx.path,'------'); //ctx.request.url=ctx.url
/* res.end(JSON.stringify({name:'message'})); */
//throw new Error('error');
});
// vm.xxx=>vm.$data.xxx;
/* Object.defineProperties('vm','xxx',{
get(){
return vm.$data.xxx
}
}) */
app.listen(3000,function(){
console.log('server start 3000');
})
//监控错误
/* app.on('error',function(err){
console.log(err,'-------');
}) */
// koa 核心:use方法和ctx的方法