koa核心概念
koa Application(應用程序)
Context(上下文)
Request(請求),Response(相應)
5f9ba4d30001d53e19201080.jpg
用戶發起請求 到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() 后的程序