KOA框架
优点:它的特点是优雅、简洁、表达力强、自由度高,ES6语法支持很多,同步模式也很到位,利用生成器函数(Generator Function)来作为响应器,不需要回调函数。
缺点:分层不太明显,大部分功能需要通过插件完成, Connect/Express 的中间件基本不能重用。
初始化package.json
$ npm init
安装koa:
$ npm install koa
安装完成后会得到以下3个文件:
KOA的核心文件:
- application.js
application.js是koa的入口文件,它向外导出了创建class实例的构造函数,它继承了events,这样就会赋予框架事件监听和事件触发的能力。application还暴露了一些常用的api,比如toJSON、listen、use等等;
listen的实现原理其实就是对http.createServer进行了一个封装,重点是这个函数中传入的callback,它里面包含了中间件的合并,上下文的处理,对res的特殊处理;