
魔法のレストランツール|第3回 Express入門
著者: 管理者 / 2025-08-14 (更新: 2025-08-14)
🌸 導入
これまでに「サーバーとは?」そして「サーバーサイドとは?」を学びましたわね。次はいよいよ本題、Node.js の上で大活躍するフレームワーク Express。
「Express って名前はよく聞くけれど、どうして便利なの?」、「仕組みはどうなっているの?」という疑問を、お嬢様と先生の会話を通して深掘りしてまいりますわ✨
🎭 Expressって何?

先生……Express という名前、とてもスマートで響きも素敵ですわね。でも、いったい何をしてくださるものなのかしら?💭

良い質問ですね。Express は「Node.js 上で Webサーバーを簡単に作れるフレームワーク」です。つまり、Node.js が持つ基礎的なサーバー機能をより扱いやすく整えてくれる道具、と考えていただければ分かりやすいでしょう。

あら……でも、Node.js だけでもサーバーは作れるのではなくて?前回「http モジュール」で動かしましたわよね。

その通りです。Node.js 単体でも確かにできます。しかし規模が大きくなると、ルーティング(どのURLで何を返すか)やミドルウェア(共通処理の仕組み)を自前で整える必要が出てきます。Express は、それらをシンプルな書き方でまとめられるようにしたのです。
📝 解説:Expressの仕組み
Express は、Node.js の http
モジュールをベースに作られています。つまり Node.js の機能をラップ(包み込み)して、開発者にとって使いやすくしたライブラリ なのです。
📌 Expressの特徴
- ルーティング機能
- 「
/
にアクセスされたらこの処理をする」と簡単に書ける。 - URLごとに処理を振り分けやすい。
- 「
- ミドルウェア機能
- リクエストが届いたとき、複数の処理を順番に通していける仕組み。
- 例:ログを取る → 認証をチェックする → 本処理を実行する。
- 拡張性
- 認証やテンプレートエンジン、セキュリティなど、外部ライブラリと組み合わせやすい。
🎭 ルーティングの力

まあ! ルーティングというのは「お客様がどの席に座るかを案内する」ようなものかしら?✨

まさにその通りです。レストランで例えると、URL が「お客様の希望」、ルーティングが「店員さんの案内」、そして処理が「料理」です。
例えば `/about` に来たお客様には「自己紹介ページ」、`/menu` に来たお客様には「メニュー一覧」をお出しする、といった具合ですね。
例えば `/about` に来たお客様には「自己紹介ページ」、`/menu` に来たお客様には「メニュー一覧」をお出しする、といった具合ですね。
📝 解説:Expressで最初のサーバー
実際の Express のコードは、Node.js よりもずっとシンプルです。
// server.js
const express = require('express');
const app = express();
// ルート(/)にアクセスが来たとき
app.get('/', (req, res) => {
res.send('こんにちは、Expressです!');
});
// /about にアクセスが来たとき
app.get('/about', (req, res) => {
res.send('わたくしはサーバーサイドで動いておりますのよ💫');
});
// ポート3000で待ち受け
app.listen(3000, () => {
console.log('http://localhost:3000 でExpressサーバー起動中');
});
app.get('/path', callback)
で、URL に応じた処理を定義。res.send()
でレスポンスを返せる。app.listen(3000)
でサーバーを開始。
Node.js の場合はリクエストとレスポンスを直接扱わなければなりませんが、Express では 自然な文章のように書ける のが魅力です。
🎭 ミドルウェアという魔法

先生、ルーティングは分かりましたわ。でも「ミドルウェア」という言葉、なんだか難しそうですわね……😳

ミドルウェアとは「リクエストが目的地に届く前に通るチェックポイント」のようなものです。たとえば全てのリクエストに対してログを残したいとき、ミドルウェアを使えば処理を一箇所にまとめられるのです。
📝 解説:簡単なミドルウェア
// リクエストが来るたびにログを出すミドルウェア
app.use((req, res, next) => {
console.log(`${req.method} ${req.url}`);
next(); // 次の処理へ進む
});
app.get('/', (req, res) => {
res.send('トップページです');
});
app.use()
でミドルウェアを登録。next()
を呼ぶことで次の処理へ。- 認証や共通設定に活用できる。
🎭 会話劇:リアクション

まあ! Express を使えば、サーバーがとても優雅で整理されたものになるのですのね。✨
Node.js 単体よりも「読みやすく、拡張しやすく」なるのが分かってまいりましたわ!
Node.js 単体よりも「読みやすく、拡張しやすく」なるのが分かってまいりましたわ!

その感覚はとても大切です。Express はまるで「料理を効率よく回す魔法のレストランツール」。次回は、さらに一歩進んで「リクエストの中身を扱う方法」について学んでいきましょう。
✅ まとめ
- Express は Node.js 上で動く Web フレームワーク。
- Node.js の
http
モジュールをラップして、開発をシンプルにする。 - 主な特徴は ルーティング と ミドルウェア。
- 簡単なコードでリクエストに応答でき、拡張性も高い。