學習架構:html
因爲Koa2已經支持ES6及更高版本,包括支持async方法,因此請讀者保證Node.js版本在7.6.0以上。若是須要在低於7.6的版本中應用Koa的async方法,建議使用Babel hook。示例代碼以下:node
require('babel-register'); // 應用的其他 require 須要被放到hook後面 const app = require('./app');
在安裝Koa以前,讀者須要先建立項目的目錄。新建文件夾koa2-tutorial/用來存放示例代碼,而後在koa2-tutorial/根目錄下初始化項目,生成配置文件package.json。命令以下:程序員
npm init
注意:生成的package.json文件用於管理項目中用到的一些安裝包npm
項目初始化完成後,在當前目錄下新建app.js文件並輸出全部程序員都熟知的一句話:json
console.log(「Hello World」)
打開控制檯,進入到目錄koa2-tutorial/,執行以下命令:瀏覽器
node app.js
若是控制檯成功輸出「Hello World」,說明環境正常。至此項目的準備工做已經完成。基本的項目結構應該以下所示:服務器
├── app.jsbabel
├── package.json架構
Koa的安裝過程很是簡單,只需經過以下命令便可安裝最新版本:app
npm install koa --save
注意:Koa的版本信息會自動保存在package.json中。
Koa安裝完成以後,修改app.js文件實現啓動Web服務器的功能。代碼以下所示:
const koa = require('koa'); const app = new koa(); app.listen(3000, () => { console.log('server is running at http://localhost:3000'); });
而後運行app.js文件並打開瀏覽器訪問http://localhost:3000,正常狀況下,頁面將會顯示「Not Found」。這是由於在3000端口下啓動服務器並進行訪問的時候並無對HTTP請求進行響應處理,故而報404 Not Found錯誤。爲了讓瀏覽器顯示一些信息,代碼還須要作些調整。修改app.js,加入一個簡單的中間件處理全部請求。代碼以下所示:
app.use(async (ctx, next) => { await next(); ctx.response.type = 'text/html'; ctx.response.body = '<h1>Hello World</h1>'; });
注意:此段代碼需放置在服務器啓動以前。
從新啓動服務器後,再次訪問瀏覽器,將會正常顯示「Hello World」。
本節在線視頻地址https://camp.qianduan.group/koa2/2/1/1,掃描二維碼可觀看:
一塊兒跟我來學習《Koa與Node.js開發實戰》這本書吧。