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 所示。

image 2024 04 17 20 26 42 009
Figure 1. 表14.9 Koa 对象中的属性、方法及说明

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

image 2024 04 17 20 28 07 306
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 所示的内容。

image 2024 04 17 20 30 06 421
Figure 3. 图14.19 访问使用 Koa 创建的服务器
image 2024 04 17 20 30 27 093
Figure 4. 图14.20 输出内容