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 输出内容