koa核心概念
koa Application(应用程序)
Context(上下文)
Request(请求),Response(相应)
用户发起请求 到koa应用程序 交给上下文 经过中间件处理(一个中间件处理完,交给另一个中间件) 最后响应给用户
创建第一个koa应用
1.创建一个名为koaText的目录
2.运行npm init -y
3.添加koa依赖 npm install --save koa
4.添加index.js 文件 touch index.js
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);
5.运行index.js文件 node index.js
6.打开浏览器 输入localhost:3000/ 可以看到出现Hello World的字样
针对上面的代码 提出几个问题
怎么获取用户传递过来的参数,怎么给用户返回结果
一般接口我们需要获取用户参数,然后经过程序处理在返回给用户,koa的ctx对象包含有request,response
特定的接口怎么办?路由怎么使用
例如我想在所有处理用户信息的接口前面加上统一的前缀,应该怎么加,或者路由该怎么使用
添加koa-router中间件 用来处理路由
async ctx是什么?
async awiat 是es7的语法 主要作用就是异步方法转成同步 ctx 上下文
next 方法
next方法是把操作权限转交给下一个中间件,等所有的中间件执行完之后 在回过头执行中间件之后的
执行过程:
中间件1 => (遇到next())=> 中间件2=>(遇到next())=> 中间件3 => (没有next())=> 中间件2 next() 后的程序 => 中间件1 next() 后的程序