配置环境
- koa-generator 脚手架 快速搭建koa项目
- async 和await 语法 异步处理
- koa2 中间件 服务器端框架
- koa2 路由
- cookie和session
- mongoose 继承
- redis 继承
关于koa-generator
- 创建项目
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 中间件
思想图
- 首先接收浏览器端的请求
- 经过中间件自己消化
- 结果响应浏览器端
洋葱是一圈一圈的,定义中间件有顺序,使用允许没有顺序的。因为是画圈,进来的时候会经过你,出去的时候还经过你,无论圈那里,都会访问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更加方便