koa

中間件

Koa的中間件很像Express的中間件,也是對HTTP請求進行處理的函數,可是必須是一個Generator函數。並且,Koa的中間件是一個級聯式(Cascading)的結構,也就是說,屬因而層層調用,第一個中間件調用第二個中間件,第二個調用第三個,以此類推。上游的中間件必須等到下游的中間件返回結果,纔會繼續執行,這點很像遞歸。nginx

routerweb

koa-route模塊所創建的路由,支持相似與/:category/:id這樣的參數路由,以及^/.*/?$正則匹配,能夠經過this.params獲取這些參數。npm

 

koa-static瀏覽器

若是網站提供靜態資源(圖片、字體、樣式表、腳本......),爲它們一個個寫路由就很麻煩,也不必。koa-static模塊封裝了這部分的請求服務器

koa-composecookie

koa-compose模塊能夠將多箇中間件合成爲一個session

session

在系統中,用戶進行特定的操做的時候,可能須要進行登陸檢查或權限檢查,若是沒有登陸或沒有權限,就不能繼續操做要進行登陸檢查,通常使用session,session和cookie都是web開發爲瞭解決http是無狀態協議的方案。
session是web開發中的一個概念,用來在服務器端存儲同一個客戶端在一系列跨請求操做的信息,一般是用戶打開瀏覽器,登入系統session開始,用戶關閉瀏覽器,session關閉
cookie是服務器端建立的,保存在客戶端的文本格式的信息,在cookie的生存期每次訪問服務器端的時候,自動帶到服務器端,便於服務器端獲取信息app

ctx.cookies用來讀寫cookiekoa

你會看到1 views。刷新一次頁面,就變成了2 views。再刷新,每次都會計數增長1。函數

若是指定加密的話,必須用app.keys指定加密短語。

app.keys = ['secret1', 'secret2'];

 文件上傳

1.使用File表單元素
2.表單的method必須是post,enctype是multipart/form-data
3.安裝multy中間件
4.在router中router.use(Multy())
5.經過ctx.request.body就能夠正常讀取請求體的數據

 

 

koa-compress

大多數狀況下,咱們的網站不單單就是存文字的還要包含一些其餘類型的文件,好比:圖片,mp3等。咱們知道瀏覽器是支持加載gzip壓縮過的網頁的,因此以nginx爲表明的靜態文件服務器默認都會開啓gzip壓縮。那麼咱們Nodejs服務能不能對資源文件進行壓縮呢?

答案是確定的。Koa的做者寫了一箇中間件compress,支持對請求的response進行壓縮,具體的使用以下:

相關文章
相關標籤/搜索