Edited at

koaでサーバ開発クイックスタート

Node.js の lightweight web framework の一つに koa というフレームワークがあります。

koa でサーバを開発するときの(私がよく使う)主要なライブラリと使い方を軽くまとめました。


目次


  • koa

  • koa-router

  • koa-static

  • @koa/cors

  • koa-bodyparser


koa

koa 本体です。執筆時点でバージョン 2.7.0 です。


Install

npm i koa


Usage

const Koa = require('koa');

const app = new Koa();
app.use(async ctx => {
ctx.body = 'hello';
});
app.listen(3000); // port 3000 でリッスン開始


koa-router

URL のパスによって処理を分岐させるミドルウェアです。


Install

npm i koa-router


Usage

const Koa = require('koa');

const Router = require('koa-router');
const router = new Router();
router.get('/a', async (ctx, next) => {
ctx.body = '/a にアクセスされたよ';
});
router.get('/b', async (ctx, next) => {
ctx.body = '/b にアクセスされたよ';
});
router.get('/b/:id', async (ctx, next) => {
ctx.body = `/b/${ctx.params.id} にアクセスされたよ`;
});
const app = new Koa();
app
.use(router.routes())
.use(router.allowedMethods());
app.listen(3000);


koa-static

静的ファイルをホストするミドルウェアです。


Install

npm i koa-static


Usage

const Koa = require('koa');

const serve = require('koa-static');
const app = new Koa();
app.use(serve('./public')); // 公開したいディレクトリを指定
app.listen(3000);

./public/nice.png というファイルがあれば http://localhost:3000/nine.png で取得できる。


@koa/cors

CORS (Cross-Origin Resource Sharing) のためのミドルウェアです。


Install

npm i @koa/cors@2


Usage

const Koa = require('koa');

const cors = require('@koa/cors');
const app = new Koa();
app.use(cors());
app.use(async ctx => {
ctx.body = 'hello';
});
app.listen(3000);


koa-bodyparser

HTTP リクエストの body をパースするミドルウェアです。

ざっくりいうと、 POST したときのデータを読むために使います。


Install

npm i koa-bodyparser


Usage

const Koa = require('koa');

const bodyParser = require('koa-bodyparser');
const app = new Koa();
app.use(bodyParser());
app.use(async ctx => {
const body = ctx.request.body; // パースされたものがここに入る
ctx.body = body;
});
app.listen(3000);


おわり

増えたら適宜加筆します。

よき koa ライフを。