Koa2簡介和搭建


一、簡介

Koa2概述:

  • 基於Node.js平台的web開發框架
  • 由Express原班人馬打造:Express  Koa  Koa2

 

  •  async/await 要求環境依賴Node v7.6.0及以上

 

Koa2特點:

  • 支持 async/await
  • 洋蔥模型中間件:當客戶端發起一個請求到達第一層中間件並處理后,服務器處理請求,將處理結果傳遞給第二層中間件,到達第二層中間件后再處理,再將處理結果傳遞給第三層中間件,之后再進入第三層中間件處理;第三層處理后,依次將處理結果向上返回給第二層處理、第一層處理,最后第一層再響應給客戶端

 


 二、快速上手

  •  檢查Node的環境,要求環境依賴Node v7.6.0及以上

    node -v

  • 安裝Koa

    npm init -y

    npm install koa

  • 創建並編寫app.js文件

    1.創建Koa對象

    2.編寫相應函數(中間件)

    3.監聽窗口

//創建koa對象
const Koa = require('koa');
const app = new Koa()
//編寫響應函數(中間件),ctx是應用上下文提供request和response方法接受和相應;
//參考洋蔥模型,第二層中間件是否執行取決於第一層中間件的next()是否執行
app.use(async(ctx,next) => {
    console.log("koa1") 
    const ret = await next() //執行第二層中間件,並且是異步的,next()返回一個Promise對象,在此等待第二層中間件返回后才繼續往下執行;
    console.log("koa1.1") 
})
//第二層中間件
app.use(async(ctx,next) => {
    console.log("koa2") 
    const ret = await next(); //執行第三層中間件,next()的返回值來自於第三層中間件的return,並且是一個Promise{I love The dog!}對象,
                  //想要獲取Promise對象中的數據,需要用await,則箭頭函數要用async修飾;
console.log(ret); console.log("koa2.1") }) //第三層中間件 app.use((ctx,next) => { console.log("koa3") ctx.response.body = "hello koa3!" return "I love The dog!" //向第二層中間件返回執行結果 }) //綁定端口號 app.listen(8080)
  • 在瀏覽器中輸入:http://localhost:8080 發起請求

IDE控制台輸出結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM