中間件:就是`匹配路由之前或者匹配路由完成后`做得一系列操作,我們就可以把它叫中間件。
在`express中間件(Middleware)`是一個函數。它可以訪問請求對象`(request object(req))`,響應對象`(response object(res)),`和web應用中處理請求——響應循環流程中的中間件,一般被命名為next的變量。在koa中中間件和express優點類似。
#### 中間件的功能包括:
- 執行任何代碼
- 修改請求和響應對象
- 終結請求-響應循環
- 調用堆棧中的下一個中間件
如果我們的get,post回調函數中,沒有next參數,那么就匹配上第一個路由,就不會往下匹配了。如果想往下匹配的話,那么需要些next();
## 一、koa應用可使用以下中間件
- 應用級中間件
- 路由級中間件
- 錯誤處理中間件
- 第三方中間件
### 1.應用中間間
~~~
//app.use(middleware)匹配所有路由
app.use(async (ctx,next)=>{
console.log(new Date());
await next()
console.log("路由完成后")
})
~~~
- 第一章 入門
- 1-1 項目技術棧
- 1-1 promise
- 1-1-1 promise-ajax
- 1-1-1 util.promisify
- 1-2 async
- 1-2-1 async-await
- 1-2-2 async-util.promisify
- 1-3 async-map
- 1-3 iterator
- 1-4 generator
- 1-4-1 generator基礎
- 1-4-2 generator-ajax
- 1-5 process
- 1-0 參考教程
- 1-6 靜態方法
- 1-7 單例
- 第二章 ES-7
- 2-1 co
- 2-2 異步讀取文件
- 2-3 co-ajax
- 第三章 koa核心
- 3-1 server
- 3-2 koa的中間件
- 3-3 koa-session
- 3-3 koa-router
- 3-3-1 ctx.params動態路由
- 3-4 koa路由get傳值
- 3-5 中間件
- 3-5-1匹配路由之前設置一個中間件
- 3-5-2 中間件執行順序
- 3-5-3 錯誤處理中間件
- 3-6 ejs
- 3-6-1 ejs基本語法
- 3-7 koa-post
- 3-8 koa-static靜態資源中間件
- 3-9 art-template
- 3-10 koa-cookie的使用
- 3-11 koa-session
- 3-12 koa應用生產器
- 第四章
- 第一節 pug模板
- 第二節 puppeteer爬蟲
- 2-1 爬取豆瓣top250數據
- 2-2 爬取豆瓣劇情頁數據
- 第三節 將數據上傳到七牛
- 第五章 mongoBD
- 5-1 安裝
- 5-2 基本命令
- 5-3 mongoose連接數據庫
- 5-3-1 簡單連接數據庫
- 5-3-2 schema,model,entity
- 5-3-3 schema向數據庫中添加數據
- 5-3-4 豆瓣數據添加到數據庫
- 5-3-5 glob引入schema
- 5-3-6 schema的數據類型
- 5-4 從數據庫取得數據返回給前臺
- 5-5 mongo數據庫取數據生成接口