nodeJs —— koa 常用中間件
koa-router 用戶Koa的路由器中間件
路由是Web框架必不可少的基礎功能,koa.js為了保持自身的精簡,并沒有像Express.js自帶了路由功能,因此koa-router做了很好的補充,作為koa星數最多的中間件,koa-router提供了全面的路由功能,比如類似Express的app.get/post/put的寫法,URL命名參數、路由命名、支持加載多個中間件、嵌套路由等。其他可選路由中間件:koa-route, koa-joi-router, koa-trie-router
koa-views koa2的模板渲染中間件
koa-views對需要進行視圖模板渲染的應用是個不可缺少的中間件,支持ejs, nunjucks等眾多模板引擎。
koa-multer 文件上傳中間件
koa-json 讓koa2支持響應JSON數據
koa-onerror koa有error事件,當發生錯誤,可以通過error事件,對錯誤統一處理。
koa-bodyparser 用來解析body
通過post來傳遞表單、json或上傳文件,數據不容易獲取,通過koa-bodyparser解析之后,在koa中this.body就能獲取到數據。koa.js并沒有內置Request Body的解析器,當我們需要解析請求體時需要加載額外的中間件,官方提供的koa-bodyparser是個很不錯的選擇,支持x-www-form-urlencoded, application/json等格式的請求體,但不支持form-data的請求體,需要借助 formidable 這個庫,也可以直接使用 koa-body 或 koa-better-body
koa-session koa的session管理中間件
HTTP是無狀態協議,為了保持用戶狀態,我們一般使用Session會話,koa-session提供了這樣的功能,既支持將會話信息存儲在本地Cookie,也支持存儲在如Redis, MongoDB這樣的外部存儲設備。
koa-logger
koa-logger提供了輸出請求日志的功能,包括請求的url、狀態碼、響應時間、響應體大小等信息,對于調試和跟蹤應用程序特別有幫助,koa-bunyan-logger 提供了更豐富的功能
koa2-cors
跨域配置
koa-static
Node.js除了處理動態請求,也可以用作類似Nginx的靜態文件服務,在本地開發時特別方便,可用于加載前端文件或后端Fake數據,可結合 koa-compress 和 koa-mount 使用。
koa-jwt
隨著網站前后端分離方案的流行,越來越多的網站從Session Base轉為使用Token Base,JWT(Json Web Tokens)作為一個開放的標準被很多網站采用,koa-jwt這個中間件使用JWT認證HTTP請求。
koa-helmet
網絡安全得到越來越多的重視,helmet 通過增加如Strict-Transport-Security, X-Frame-Options, X-Frame-Options等HTTP頭提高Express應用程序的安全性,koa-helmet為koa程序提供了類似的功能,參考Node.js安全清單。
koa-compress
當響應體比較大時,我們一般會啟用類似Gzip的壓縮技術減少傳輸內容,koa-compress提供了這樣的功能,可根據需要進行靈活的配置。
- 開篇卷
- 一.koa基礎
- 1.koa基礎之開發環境搭建
- 2.koa基礎之路由
- 3.koa基礎之路由另一種寫法
- 4.koa基礎之get 傳值 以及獲取 get 傳值
- 5.koa 基礎之動態路由的傳值
- 6.koa基礎之ejs模板的使用
- 7.koa基礎之From表單提交get與post數據
- 8.koa基礎之koa-bodyparser 中間件獲取表單提交的數據
- 9.koa基礎之koa-static 靜態資源中間件 靜態web服務
- 10.koa基礎之koa-art-template 模板引擎的使用
- 11.koa基礎之cookie 的基本使用
- 12.koa基礎之koa中session的使用
- 13.koa基礎之重定向
- 二.koa進階
- koa對文件操作
- 上傳文件
- 上傳單個文件
- 上傳多個文件
- 下載文件
- 下載單個文件
- 下載多個文件
- 參考文章
- koa模塊化路由
- koa 允許跨域
- koa 應用生成器
- koa對數據庫操作
- koa對mongodb的操作
- koa對redis的操作
- koa對mysql的操作
- koa對sqlite操作
- koa與elasticsearch的操作
- koa與PostgreSQL的操作
- koa與Neo4j的操作
- koa-static
- koa的async與await使用
- koa模板引擎
- art-template
- ejs模板引擎
- koa-jsonp使用
- 分頁 jqPaginator_koa
- Koa2 ueditor
- koa-multer
- koa-session
- koa-cors
- koa全局變量定義
- koa-compress中間件
- 全球公用頭像的使用
- token生成
- koa-passport
- Koa RESTful Api接口
- Koa中集成GraphQl實現 Server API 接口
- koa集成Swagger
- koa 二維碼的實現
- 三.koa實戰
- 一.koa與IM實戰
- koa和websocket實戰
- koa與Socket.io實戰
- koa與WebRTC實戰
- 二.koa與Web實戰
- 三.koa與react實戰
- 四.koa與vue實戰
- 五.微信公眾號開發
- 四.koa微服務
- 微服務框架
- Tars.js
- Seneca.js
- dubbo.ts
- 番外篇
- koa開發環境搭建
- Koa中間件
- koa中間件的執行順序
- 淺談koa中間件的實現原理
- async和await詳解
- Async/Await原理解析
- koa文章參考
- 其他參考
- 網上學習資源
- json-server
- Jenkins打包指南
- 前端工作流規范
- 結束篇