1. 程式人生 > >基於node的koa框架初識

基於node的koa框架初識

  • koa介紹

koa是基於node的一個web框架,使用優雅的async和await語法來解決了大量的回撥函式過程,採用洋蔥圈的中介軟體模型,極大的便於我們書寫服務端程式

  • koa專案的構建

專案環境依賴於node推薦node v8.12及以上,使用koa2提供的腳手架koa-generator進行專案構建,安裝腳手架命令npm install -g koa-generator進行全域性安裝

  • 專案構建命令
  1. koa2 test-project
  2. npm install
  3. npm run dev
  • 專案預設啟動在3000埠,預設安裝koa-router
  • 專案核心目錄和檔案 介紹

  1. bin目錄裡的www為專案入口,通過它引入app.js配置內容
  2. node_moudel為模組載入生成的資料夾,裡面全是模組功能的原始碼。
  3. public目錄是公共資料夾,放一些樣式檔案、頁面js檔案、圖片。
  4. routers目錄,裡面存放著路由功能的檔案,功能為分發請求。
  5. views為檢視檔案,檔案可以是pub,jade,html
  6. app.js檔案:是專案的核心配置檔案,其他檔案都是依賴此檔案,裡面可以進行中介軟體的應用,路由檔案的引入,服務端解決前端跨域方案也在此處處理,推薦使用外掛koa2-cors
  • 推薦增加的專案目錄middleware可以用於存放中介軟體檔案,koa中核心的中介軟體介紹
  1. koa-router:koa為了自己的簡潔並沒有攜帶路由功能,koa-router提供了全面的路由功能,支援get,post,put等請求,支援路由命名新增字首,路由巢狀等功能

  2. koa-bodyparser:用於解析request body,支援x-www-form-urlencoded, application/json等格式的請求體,但不支援form-data的請求體,需要藉助 formidable 這個庫,也可以直接使用 koa-body 或 koa-better-body

  3. koa-view:koa-views對需要進行檢視模板渲染的應用是個不可缺少的中介軟體,支援ejs, nunjucks等眾多模板引擎

  • 不使用腳手架搭建專案,最基礎的koa專案檔案,直接使用node執行此檔案就是一個簡單的服務端程式,訪問localhost:3000就可以得到請求的結果Hello World

ctx引數解釋

ctx.req是node的request物件,裡面get請求的query引數物件以及post請求放在訊息實體body中的引數列表,還有ctx.req.url等

ctx.res是node的response物件

  •