Expressを導入する
見分けを自分で書かない
前のレッスンで、メソッドとパスから依頼を見分ける関数を書きました。あの if を、パスが増えるたびに足していくのは現実的ではありません。
Express は、その見分けを引き受けてくれる部品です。第1章で触れたとおり npm で入れます。
プレーンテキスト
npm install express最小のサーバー
Express で書くと、待ち受けはこれだけです。
JavaScript
const express = require("express");
const app = express();
app.get("/", (req, res) => {
res.send("Hello fleama");
});
app.listen(3000);上から順に、部品を読み込み、アプリを作り、パスと処理を結びつけ、ポートで待ち始めます。
app.get の 2 つの引数
JavaScript
app.get("/", (req, res) => { ... });1 つ目がパス、2 つ目がそのパスに来たときに動く関数です。この関数は、リクエストが届くたびに Express から呼ばれます。自分で呼ぶことはありません。
引数の req と res には決まった役割があります。
| 名前 | 何が入っているか |
|---|---|
req | 届いたリクエスト。パスやボディを読む |
res | これから返す応答。ここに書いて返す |
読むのが req、書くのが res です。
createApp という形
このコースの演習では、app を作って返す関数を書きます。
JavaScript
function createApp() {
const express = require("express");
const app = express();
// ここにパスを足していく
return app;
}listen は書きません。ポートで待つ代わりに、採点の仕組みが app を直接呼んでリクエストを届けます。実際のサーバーでは、この app に listen を付けて起動します。
形が決まっているので、これから毎回この中を育てていきます。
手を動かす
演習では、はじめての Express サーバーを作ります。ルートのパスに来たら、あいさつを返してください。
要件
GET /に対してHello fleamaを返すGET /healthに対してokを返す- 返すときは
res.send(...)を使い、作ったappをreturnする
入出力例
request("GET", "/") → "200 Hello fleama"
request("GET", "/health") → "200 ok"ヒント
編集 ゆめさく編集部