1. 新建一个node项目:比如 my-node。
2. 在node项目下创建入口文件:创建一个app.js文件以及一个index.html文件:
3. 初始化node项目:执行npm init。
4. 在my-node/app.js中:
const Koa=require('koa');
const app=new Koa();
app.use(ctx=>{
ctx.body='这是浏览器打开localhost:3000显示在页面的数据'
})
app.listen(3000);
//相当于用http
require('http').createServer((req,res)=>{
res.writeHead(200); //响应码200 相当于res.statusCode=200
res.end('输出到服务端')
}).listen(3000)
5. 在my-node中创建一个my-koa.js文件用以模拟koa中间件实现原理:
//my-koa.js
const http=require('http');
class myKoa{
listen(...args){
http.createServer((req,res)=>{
this.callback(req,res);
}).listen(..args);
},
use(callback){
this.callback=callback;
}
}
module.exports=myKoa;
6. 使用my-koa.js模拟koa中间件:
const myKoa=require('./my-koa.js');
const app=new myKoa();