Koa2 のコンテキストとは何ですか? コンテキストオブジェクトの使い方は?
Koa2 では、コンテキストはリクエストとレスポンスをカプセル化するオブジェクトであり、HTTP リクエストとレスポンスを処理するための多くの便利なメソッドとプロパティを提供します。
コンテキスト オブジェクトは Koa ミドルウェア関数の最初の引数であり、通常は という名前が付けられますctx
。コンテキスト オブジェクトを使用すると、リクエスト情報、レスポンス情報、および一般的に使用されるいくつかのメソッドにアクセスできます。
コンテキスト オブジェクトを使用した例を次に示します。
const Koa = require('koa');
const app = new Koa();
app.use(async (ctx, next) => {
// 访问请求的路径
console.log(ctx.path);
// 设置响应的状态码
ctx.status = 200;
// 设置响应的内容
ctx.body = 'Hello, World!';
await next();
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
上記の例では、ctx.path
リクエストのパスにアクセスし、ctx.status
レスポンスのステータス コードを設定し、ctx.body
レスポンスのコンテンツを設定しました。これらのプロパティとメソッドは、コンテキスト オブジェクトを通じて提供されます。
さらに、コンテキスト オブジェクトは、ctx.request
リクエスト オブジェクトへのアクセス、ctx.response
レスポンス オブジェクトへのアクセス、ctx.cookies
Cookie の処理など、その他の一般的に使用されるメソッドも提供します。
つまり、コンテキスト オブジェクトは Koa2 の非常に重要な概念であり、HTTP リクエストとレスポンスを処理するための便利なメソッドとプロパティを多数提供します。コンテキスト オブジェクトを使用すると、Koa2 アプリケーションをより柔軟かつ便利に作成できます。