day228-Koa-封装HTTP server

要点

  1. 创建Koa类构造函数、封装http server
  2. 实现koa的服务器应用和端口监听

完成对http server简单的封装并创建了一个可以生成koa实例的类class,

class类包含app.use用来注册中间件和注册回调函数,

app.listen用来开启服务器实例并传入callback回调函数

封装http server

node原生代码实现的服务器监听

let http = require('http');
let server = http.createServer((req, res) => {
res.writeHead(200);
res.end('hello world');
});
server.listen(3000, () => {
console.log('listenning on 3000');
})

封装实现成koa的模式

const http = require('http');
const Koa = require('koa');
const app = new Koa();
app.listen(3000);

基于node的原生代码封装

在application.js实现一个Application类的构造函数,对以上的这个过程进行封装。

let http = require('http');
class Application {
constructor() {
this.callbackFunc;
}
listen(port) {
let server = http.createServer(this.callback());
server.listen(port);
}
use(fn) {
this.callbackFunc = fn;
}
callback() {
return (req, res) => {
this.callbackFunc(req, res);
};
}
}
module.exports = Application;

测试

let Koa = require('./application');
let app = new Koa();
app.use((req, res) => {
res.writeHead(200);
res.end('hello world');
});
app.listen(3000, () => {
console.log('listening on 3000');
});
文章作者: lmislm
文章链接: http://lmislm.com/2019/08/30/2019-08-30/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LMISLMのBlog