Node.js框架——koa基础

koa

  • 代码编写上避免了多层的嵌套异步函数调用 async await来解决异步
    • async await 需要依赖于promise
  • 更轻… 减少了内置的中间件 express.static处理静态资源的内置中间件 express.Router() 路由
  • 启动步骤
    1. 引入Koa构造函数对象 const Koa = require('koa')
    2. 创建服务器示例对象 const app = new Koa();
    3. 配置中间件 app.use(做什么?)
    4. 监听端口启动服务器 app.listen(8888);
  • 做什么? (函数参数说明)
    • 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包裹他
第三方中间件
  • 处理请求体 koa-bodyparser

    • 非GET请求,比如说post请求 ,包括表单提交的form内的数据,都能轻松获取
    • ctx.request.body 获取form中的数据
  • 处理路由 koa-router

    • 获取查询字符串 ctx.query
  • koa-bodyparser是解析请求体数据的,koa-router中可以通过ctx.query||ctx.params获取url上的参数

  • 处理静态资源 koa-static

  • 渲染页面 koa-art-template

    • koa与视图通信的对象 ctx.state
  • session中间件 koa_session

    • sign:true 会生成一个关于cookie数据保障不被修改的签名,如果数据改了,但是签名还是之前的状态,就说明数据不安全
    • app.keys 必须要,内部通过该值进行标识或者说计算
    • 操作session ctx.session.xxx
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值