context上下文对象: 该对象类似原生http中的 req + res- 该对象的req,res属性也存在,就是原生没有包装过的req,res- 简单说:  context 对象就是从请求到响应 过程中的一个描述对象- next函数:调用下一个中间件
- request(请求对象):  其中包含客户端请求的相关信息
- response(响应对象): 包含响应数据的具体操作#### request常用属性- ctx.request.url(ctx.url)
- ctx.request.method(ctx.method)
- ctx.request.headers(ctx.headers)#### response常用属性- ctx.response.set(ctx.set)  __函数:参数key,val__
- ctx.response.status(ctx.status)- ctx.response.body(ctx.body)  #### 小结- 以上所有使用的属性,都可以简写 ctx.xxx
- 使用async await的应用场景,如果你出现了异步操作,使用其,  后一个中间件使用了async,前后都使用
- 三主角: __函数前面 async, 内部才能await,要想await能有用,就用promise包裹他__

demo

//引入对象
const Koa = require('koa');
//创建服务器对象
const app = new Koa();
//配置
app.use((ctx,next)=> {ctx.body = 'Hello World';console.log(ctx.url);   //  /console.log(ctx.method);  //   GET// { host: 'localhost:8880',// 'cache-control': 'max-age=0',// 'upgrade-insecure-requests': '1',// 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',// accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',// 'accept-encoding': 'gzip, deflate, br',// 'accept-language': 'zh-CN,zh;q=0.9',// connection: 'close' }
  console.log(ctx.headers);next();});
// Request URL: http://localhost:8880/
// Request Method: GET
// Status Code: 200 OK
// Remote Address: 127.0.0.1:1080
// Referrer Policy: no-referrer-when-downgrade
// Connection: close
// Content-Length: 18
// Content-Type: text/plain; charset=utf-8
// Date: Tue, 25 Dec 2018 05:24:55 GMT
// Proxy-Connection: keep-alive
// test: 123
app.use((ctx)=>{ctx.set('test','123');    //test: 123ctx.status=200;   //Status Code: 200 OKctx.body=`<h1>大家好</h1>`  //<h1>大家好</h1>
})
app.listen(8880,(req,res)=>{console.log('服务器已经启动了 ')
})

截图:

转载于:https://www.cnblogs.com/guangzhou11/p/10173403.html

koa 的 Context相关推荐

  1. Node.js框架对比:Express/Koa/Hapi

    Node.js框架对比:Express/Koa/Hapi 引言 Express.js是当今使用最广泛的Node.js Web应用程序框架.它似乎是大多数Node.js Web应用程序中的基本依赖项,即 ...

  2. 一步步实现koa核心代码

    导语:实现简单的koa核心代码,便于理解koa原理.顺便学习koa代码的那些骚操作 简单分析koa 创建一个 http 服务,只绑一个中间件.创建 index.js /** index.js */ c ...

  3. 【工程化之路】Koa 真解

    1. 前言 昨天花费了比较多的时间将Koa的源码阅读了一遍,主要是项目中用到了Koa,为了做的更加得心应手所以先将源码看一下,总体上源码还是非常简单的,没啥难度.一方面为了总结另一方面也是为了不太看懂 ...

  4. node mysql和koa_2019年NodeJS框架Koa和Express选型比较

    Koa和Express都是NodeJS的主流应用开发框架. Express是一个完整的nodejs应用框架.Koa是由Express团队开发的,但是它有不同的关注点.Koa致力于核心中间件功能.nod ...

  5. Vue 3 组件开发:搭建基于SpreadJS的表格编辑系统(环境搭建)

    Vue是一套用于构建用户界面的渐进式框架,与其它大型 JS 框架不同,Vue 被设计为可以自底向上逐层应用,更易上手,还便于与第三方库或既有项目整合,因此,Vue完全能够为复杂的单页应用提供驱动. 2 ...

  6. Serverless SSR 技术在「腾讯在线教育」的实践

    我们的团队 IMWeb 团队隶属腾讯公司,是国内最专业的前端团队之一. 我们专注前端领域多年,负责过 QQ 资料.QQ 注册.QQ 群等亿级业务. 目前聚焦于在线教育领域,精心打磨腾讯课堂.腾讯企鹅辅 ...

  7. Koa2框架快速入门与基本使用

    本篇我们讲一下 Koa2 框架的基本使用,希望能帮助大家快速上手 Koa2 是什么?简单来讲,它是一个基于 Node.js 的 web server 框架. 官方文档 Koa2框架使用入门 不使用脚手 ...

  8. nodejs异常处理过程/获取nodejs异常类型/写一个eggjs异常处理中间件

    前言 今天想写一下eggjs的自定义异常处理中间件,在写的时候遇到了问题,这个错误我捕获不到类型?? 处理过程,不喜欢看过程的朋友请直接看解决方法和总结 看一下是什么: 抛出的异常是检验失败异常Val ...

  9. Koa v2.x 中文文档 上下文(Context)

    上下文(Context) 此系列文章的应用示例已发布于 GitHub: koa-docs-Zh-CN. 可以 Fork 帮助改进或 Star 关注更新. 欢迎 Star. Koa Context 将 ...

最新文章

  1. 使用智能移动设备访问Ossim制
  2. arduino 3d打印机_Firefox OS流视频,使用Arduino销售3D打印机等
  3. SQLAlchemy 基本使用
  4. 用yeoman搭建react画廊项目笔记
  5. winform窗体对象 单例模式与泛型结合
  6. ihttphandler ihttpmodule
  7. linux 解压bz2文件
  8. timesten系列一:简介
  9. android模拟机神器[Genymotion]的使用
  10. 进去服务器bios设置u盘启动不了系统,重装系统怎么进不了bios设置u盘启动
  11. jquery导入数据_【Python成长之路】从 零做网站开发 -- 基于Flask和JQuery,实现表格管理平台...
  12. 1156针最强cpu,1156的CPU什么最好?
  13. php 九宫格验证码,PHP+Ajax微信手机端九宫格抽奖实例
  14. 链表结点的物理顺序与逻辑顺序
  15. Java配车标识英文单词怎么写_车用英语怎么写
  16. MySQL字符串处理函数
  17. 用计算机解决逻辑推理问题,逻辑推理问题解决.doc
  18. 胡扯推荐算法(协同)及其dome实现
  19. 电脑内存突然爆满的可能解决方法
  20. 推荐个将其他文档转为pdf的软件:Nitro PDF Creator

热门文章

  1. js中变量名提升和函数名提升
  2. ShellSort -- 希尔排序
  3. qpython3 读取安卓lastpass Cookies
  4. python requests模块中返回时间elapsed解析
  5. redis,memcache,mongodb对比
  6. ORACLE学习之绑定变量
  7. Android 编码规范:(五)避免创建不必要的对象
  8. 希尔排序 最坏时间_算法篇----希尔排序
  9. 【iOS】iOS开发之使用Mac自动操作制作@1x@2x@3x图片(切图)
  10. [Java] 蓝桥杯ALGO-63 算法训练 乘法表