はじめに
- Node.jsで使用されるサーバー側の軽量フレームワーク。
- サーバーを素早く提供してくれる。
- 最小構成かつ手軽にアプリケーションを作成可能。
- 初学者にとっては、新しいライブラリを一から作ることになるため、構築力が身に付く。
環境
- Mac
- Node v17.2.0
開発
$ mkdir sample_koa; cd $_
$ npm init -y
$ npm i koa
$ npm i -D nodemon
// nodemon:Node.jsではプロセスを再起動する必要があるが、
nodemonを使用してプロセスを自動的に再起動してくれる。
- index.jsを作成・記述する。
$ touch index.js
- index.js
const Koa = require('koa')
const app = new Koa()
app.listen(3000,() => {
console.log("server start")
})
- package.json
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
の部分を
"scripts": {
"dev": "nodemon index.js"
},
に変更する。
ミドルウェア
- OSとアプリケーション間の複雑な処理をするソフトウェアのこと。
- koaはルーティング機能がついていないため、実装する。
$ npm i koa-router
- index.js
const Koa = require('koa')
const app = new Koa()
app.use(async ctx => {
// ミドルウェア
ctx.body = "Hello World"
})
app.listen(3000,() => {
console.log("server start")
})
- 確認
$ npm run dev
- ブラウザでlocalhost:3000と入力、"Hello World"と表示されたらOK。