其實本來不想寫這個系列文章的,因為Koa本身很精簡,一共就4個文件,千十來行代碼。
但是因為想寫 egg[1] 的源碼解析,而egg是基于Koa2的,所以就先寫個Koa2的吧,用作承上啟下。
[1] egg 是阿里巴巴團隊開源的企業(yè)級web開發(fā)框架
面向讀者
我們假定讀者具備javascript基礎(chǔ)知識,簡單了解promise、generator和async。
入口
我們以 koajs中文官網(wǎng) 的例子作為入口。
const Koa = require('koa');const app = new Koa();// responseapp.use(ctx => { ctx.body = 'Hello Koa';});app.listen(3000);
這樣就啟動起來了一個Koa2網(wǎng)站,可以看到只做了3件事: Koa的構(gòu)造函數(shù)、app實例的use函數(shù)、app實例的listen函數(shù)。