KOA 與 CO 實現(xiàn)淺析
KOA 與 CO 的實現(xiàn)都非常的短小精悍,只需要花費很短的時間就可以將源代碼通讀一遍。以下是一些淺要的分析。
如何用 node 實現(xiàn)一個 web 服務(wù)器
既然 KOA 實現(xiàn)了 web 服務(wù)器,那我們就先從最原始的 web 服務(wù)器的實現(xiàn)方式著手。
下面的代碼中我們創(chuàng)建了一個始終返回請求路徑的 web 服務(wù)器。
const http = require('http');
const server = http.createServer((req, res) => {
res.end(req.url);
});
server.listen(8001);
當(dāng)你請求 http://localhost:8001/some/url 的時候,得到的響應(yīng)就是 /some/url。
KOA 的實現(xiàn)
簡單的說,KOA 就是對上面這段代碼的封裝。
首先看下 KOA 的大概目錄結(jié)構(gòu):
lib 目錄下只有四個文件,其中 request.js 和 response.js 是對 node 原生的 request(req) 和 response(res) 的增強(qiáng),提供了很多便利的方法,context.js 就是著名的上下文。我們暫時拋開這三個文件的細(xì)節(jié),先看下主文件 application.js 的實現(xiàn)。
先關(guān)注兩個函數(shù):
// 構(gòu)造函數(shù) function Application() { if (!(this instanceof Application))
延伸閱讀
- ssh框架
2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖
2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe
2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】
2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞
2017-07-26
- 從棧不平衡問題 理解 calling convention
2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明
2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解
2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析
2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二)
2017-07-26
學(xué)習(xí)是年輕人改變自己的最好方式