Koa 的內容會以 v2 為主!這是上篇沒有提到的部分,因此若 Koa v1 使用上發現問題,我可能沒辦法幫忙解決,但討論、一起決解問題是沒問題的。
Koa 和 Express 一樣可以直接建立一個 HTTP Server
const express = require('express');
const app = express();
app.get('/', function (req, res) {
res.send('Hello World!')
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!')
});
const koa = require('koa');
const app = koa();
app.use(function *(){
this.body = 'Hello World!';
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!')
});
Koa 本身沒有帶 Router ,此時的 Server 不論切換到哪一個頁面都會呈現 Hello Wolrd! ,原因是少了 Express 裡 app.get()
這段的 Router 設定;幫 Koa 加個 Router ,以下使用 koa-router 且在 app.use()
加載。
const router = require('koa-router');
router.get('/', function *() {
this.body = 'Hello World!';
})
app.use(router());
加上這段後,不論切到哪一頁還是一樣都會顯示 Hello World! ,因為 app.use()
集中了 Koa 整體的設定,在一開始的 Example Code 中設定不論到哪頁 response 為 Hello World! ,所以要刪除以下這段內容,
app.use(function *(){
this.body = 'Hello World!';
});
之後只有首頁 localhost:3000
會顯示 Hello World! ,其他 localhost:3000/...
頁面 response 都回傳 404 、 Not found 訊息。
以上是 Koa 基本 Hello World 加一點變化,下一篇預計寫 TDD 、 Mocha ,有興趣的朋友請自便。