koa 框架是在 express 框架之後原班人馬打造的新的 web 框架。和 express 相比,koa 沒有**如何中介軟體,沒有自帶路由處理中介軟體,中介軟體使用洋蔥圈模型,使用 async 函式而不是 co 庫 + generator 函式來處理非同步,本身**只有570行左右。
koa 依賴node v7.6.0及以上版本
nvm install 7.6.0
nvm use 7.6.0
npminstall koa
簡單案例
const koa =
require
('koa');
// 引入 koa 庫
newkoa()
;// 宣告並建立 koa 例項
use(ctx =>);
listen
(8080);
// 啟動 http 服務並繫結 8080 埠
koa 是乙個可以使用兩種不同函式作為中介軟體的框架
async function 非同步函式
common function 普通函式
每個中介軟體都接受乙個 context 上下文(封裝了 http 的 請求與響應物件)
簡單案例 非同步
use(
async
(ctx, next)
=>$-
$ms`);
});簡單案例 同步
use(
(ctx, next)
=>$-
$ms`);
});}
);中介軟體使用洋蔥圈模型,多個中介軟體類似於乙個棧結構,以先進後出的方式執行
執行最外層的中介軟體 next 函式前的**
呼叫 next 函式,把執行權交給下乙個中介軟體
重複 1-2 步,直到最內層的中介軟體,沒有 next 函式,執行完後把執行權交給上乙個中介軟體
執行完 next 函式後的**,執行完後把執行權交給上乙個中介軟體
重複 第 4 步,直到最外層中介軟體函式執行
所有中介軟體處理完畢
簡單案例
const
createmiddleware
= tag =>
}use
(createmiddleware
('aaa'))
;use
(createmiddleware
('bbb'))
;use
(createmiddleware
('ccc'))
;// 最終列印結果
// >>> aaa
// >>> bbb
// >>> ccc
// <<< ccc
// <<< bbb
// <<< aaa
ES6入門概覽一
一 let const 1.let命令 宣告變數僅在塊級作用域有效 let實際上為js新增了塊級作用域 好處 不存在變數提公升 內部宣告的變數 函式 不會影響外部 不可重複宣告變數 2.const 宣告常亮 宣告時賦值 宣告變數 1.var 2.function es5 全域性物件屬性 3.let ...
nodeJs 高階Koa入門
koa 是乙個新的 web 框架,作者和之前的express是同一批人,整個框架的核心就在於中介軟體的使用。大致寫法和express類似 const fs require fs 檔案模組 const koa require koa 匯入koa,和koa 1.x不同,在koa2中,我們匯入的是乙個cl...
Koa入門(三) Koa專案自動化測試
當我們做專案時,寫完乙個功能後都要進行測試,js中測試框架一般使用 mocha chai,如果你還需要測試介面的話,可能還需要supertest測試框架。安裝依賴 yarn add mocha chai supertest d 比如我現在寫個密碼加密,密碼驗證的工具 密碼加密一般用的比較多的是 md...