基於node的koa框架初識
阿新 • • 發佈:2018-12-23
- koa介紹
koa是基於node的一個web框架,使用優雅的async和await語法來解決了大量的回撥函式過程,採用洋蔥圈的中介軟體模型,極大的便於我們書寫服務端程式
- koa專案的構建
專案環境依賴於node推薦node v8.12及以上,使用koa2提供的腳手架koa-generator進行專案構建,安裝腳手架命令npm install -g koa-generator進行全域性安裝
- 專案構建命令
- koa2 test-project
- npm install
- npm run dev
- 專案預設啟動在3000埠,預設安裝koa-router
- 專案核心目錄和檔案 介紹
- bin目錄裡的www為專案入口,通過它引入app.js配置內容
- node_moudel為模組載入生成的資料夾,裡面全是模組功能的原始碼。
- public目錄是公共資料夾,放一些樣式檔案、頁面js檔案、圖片。
- routers目錄,裡面存放著路由功能的檔案,功能為分發請求。
- views為檢視檔案,檔案可以是pub,jade,html
- app.js檔案:是專案的核心配置檔案,其他檔案都是依賴此檔案,裡面可以進行中介軟體的應用,路由檔案的引入,服務端解決前端跨域方案也在此處處理,推薦使用外掛koa2-cors
- 推薦增加的專案目錄middleware可以用於存放中介軟體檔案,koa中核心的中介軟體介紹
-
koa-router:koa為了自己的簡潔並沒有攜帶路由功能,koa-router提供了全面的路由功能,支援get,post,put等請求,支援路由命名新增字首,路由巢狀等功能
-
koa-bodyparser:用於解析request body,支援x-www-form-urlencoded, application/json等格式的請求體,但不支援form-data的請求體,需要藉助 formidable 這個庫,也可以直接使用 koa-body 或 koa-better-body
-
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物件