Koa框架基础
认识 Koa 框架
Koa
框架是基于 Node.js 平台的一个新的 Web
开发框架,由 Express
幕后的原班人马打造,致力于成为 Web
应用和 API 开发领域中的更小、更富有表现力、更健壮的基石。通过利用 async
函数,Koa
框架中丢弃了回调函数,并增强了错误处理,它没有捆绑任何中间件,而是提供了一套优雅的方法,帮助开发者快速而愉快地编写服务端应用程序。
要使用 Koa
框架,首先需要进行安装,命令如下:
npm install koa
Koa 框架的基本使用
使用 Koa
框架时,首先需要进行导入,并创建其对象,然后调用其属性或方法实现相应的功能,导入 Koa
框架的代码如下:
const Koa = require('koa');
const app = new Koa();
Koa
对象提供的主要属性、方法及说明如表 14.9 所示。

Figure 1. 表14.9 Koa 对象中的属性、方法及说明
ctx
表示 Koa Context
上下文,它将 Node.js 的 request
和 response
对象封装到单个对象中,它为编写 Web
应用程序和 API 提供了许多有用的方法,这些方法会在 HTTP
服务器开发中频繁使用,每个请求都将创建一个 Context
,并在中间件中作为接收器引用。Context
的常用方法和属性如表 14.10 所示。

Figure 2. 表14.10 Context对象中的属性、方法及说明
例如,使用 Koa
框架创建一个服务器,并设置输出内容为经典的 “Hello World”,代码如下:
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);
Koa
框架中同样支持 next
中间件,例如,下面使用 Koa
创建一个服务器,然后分别在两个 use
访问器中设置输出内容,并且使用 next
中间件设置内容的输出顺序,代码如下:
const Koa = require("koa")
const app = new Koa()
app.use((ctx, next) => {
console.log("first")
next() //设置中间件
console.log("third")
ctx.body = '在koa中使用中间件';
})
app.use((ctx, next) => {
//同步操作
console.log("second")
})
app.listen(3000)
运行上面代码,在浏览器中访问 http://127.0.0.1:3000 ,如图 14.19 所示,在 WebStorm 的控制台中会依次输出如图 14.20 所示的内容。

Figure 3. 图14.19 访问使用 Koa 创建的服务器

Figure 4. 图14.20 输出内容