Koa2基础

180 阅读1分钟

配置环境

  • koa-generator 脚手架 快速搭建koa项目
  • async 和await 语法 异步处理
  • koa2 中间件 服务器端框架
  • koa2 路由
  • cookie和session
  • mongoose 继承
  • redis 继承

关于koa-generator

  1. 创建项目
koa2 projectName  
使用ejs 模版引擎:
koa1 -e projectName  
  • koa2 项目中 端口3000
  • npm start 开启项目不会自动更新
  • npm run dev 开启的项目会自动更新 package.json 文件中,几个指令 除了start和test可以用npm +指令外,其他都要npm run +指令 ctrl+C 终止进程

关于async 和await

有await 外面必须有async

async (ctrx,next)=>{
    const a=await  A;
    const b=await  B;  //A执行完赋值给a后,这一步才能执行,用同步的写法完成异步的功能,注意不是将异步变成同步
    const c=await  C;
}

关于koa2 中间件

思想图

  1. 首先接收浏览器端的请求
  2. 经过中间件自己消化
  3. 结果响应浏览器端

洋葱是一圈一圈的,定义中间件有顺序,使用允许没有顺序的。因为是画圈,进来的时候会经过你,出去的时候还经过你,无论圈那里,都会访问2次,这种机制保证中间件的引用顺序。

因为一进一出,所以后面的进去的还得交给前面,保障不会修改

ctx 全局对象,里面包含2方面的信息:1 request信息 2 response信息,这些信息被各个中间件所引用

1.引入中间件
const json = require('koa-json')
2.使用中间件
app.use(json())

关于koa路由

router.get('/bar', function (ctx, next) {
  ctx.body = 'this is a users/bar response'  // 返回接口;ctx/render 渲染页面
})

cookie和session

用koa2处理 cookie更加方便