使用下一代web開發框架koa2搭建自己的輕服務器


Koa 是由 Express 原班人馬親情打造的新一代web框架。既然已經有 Express 了,為什么又要搞一個Koa出來呢?因為 Koa 相比 Express 體積更小,代碼更健壯,作用更純粹

Koa2 使用最新的 ES6 語法和 aync 函數進行開發,因此 Koa2 要求 nodejs 的版本不低於 7.6.0。

使用 Koa 創建一個服務器非常簡單,新建文件 app.js,放置以下代碼:

const Koa = require('koa');
const app = new Koa();

app.use(async ctx => {
  ctx.body = 'Hello World';
});

app.listen(3000);
console.log('listening 3000 ...');

且先不管具體的語法含義,先運行該文件node app.js,即創建並啟動了一台服務器,在瀏覽器中輸入網址 http://localhost:3000 即可以看到

Hello World

之所以說Koa作用更純粹,是因為Koa本身只提供了有限的最基本的功能,一切需要的額外功能都是通過中間件實現,比如路由管理,log日志,錯誤處理等等。所謂中間件,就像中間人一樣,所有與客戶端之間的通信都要經過它們,它們會對會話的輸入和輸出做具體的處理。

服務器說白了不就是接受客戶端請求(通常是一個url)並返回相應資源的一個東西嘛,因此路由管理器(koa-router)應該是(koa)最為重要的一個中間件了。接下來給 app 添加路由:

const Koa = require('koa');
const app = new Koa();

const Router = require('koa-router');
const router = new Router();

router.get(/.*/, async (ctx, next)=>{   // 匹配 get 請求
    ctx.body = `Your request url is: ${ctx.path}`;
});
app.use(router.routes());

app.listen(3000);
console.log('listening 3000 ...');

運行 app 之后在瀏覽器中隨便輸入一個地址 http://localhost:3000/your/url 就能看到

Your request url is: /your/url

這只是一個簡單例子,實際上你可以返回一張圖片,json數據,html頁面等等。


免責聲明!

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



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