01-Koa-邂逅

248 阅读1分钟

1.回顾

Express是第一代最流行的web框架,它对Node.js的http进行了封装 但是它是基于ES5的语法,内部实现异步代码,只有一个方法:'回调'

2.Koa1.x含义

随着新版Node.js开始支持ES6,Express的团队又基于ES6重新编写了下一代web框架koa。 和Express相比,koa 1.x使用generator实现异步. 用generator实现异步比回调简单了不少,但是generator的本意并不是异步

3.Koa2.x含义

koa团队并没有止步于koa 1.x,他们非常超前地基于ES7开发了koa2, 和koa 1相比,koa2完全使用Promise并配合async来实现异步

4.三者区别

1.最大的区别就是内部实现异步的方式不同

  • Express使用回调函数实现异步, 容易出现回调地狱问题, 但是语法更老兼容性更好
  • Koa1.x使用generator实现异步, 解决了回调地域问题, 但是generator的本意并不是异步
  • Koa2.x使用Promise并配合async来实现异步, 解决了回调地域问题, 但是语法太新兼容性不好

总结: 企业开发中,要兼容选Express,不兼容选Koa2.x

5.基本使用

1.手动安装手动配置

npm install koa

详情: www.npmjs.com/package/koa

通过详情了解一下基本使用

废物不多说,直接上代码

// 1.导入Koa
const Koa = require('koa');
// 2.创建服务端实例对象
const app = new Koa();

app.use(ctx => {
  ctx.body = 'Hello Koa';
});
// 3.指定监听端口
app.listen(999);

效果图