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的方法