Express02

光と影の舞台裏|第2回 サーバーサイド入門

著者: 管理者 / 2025-08-14 (更新: 2025-08-14)

🌸 導入

これまでに「サーバーとは?」そして「サーバーサイドとは?」を学びましたわね。次はいよいよ本題、Node.js の上で大活躍するフレームワーク Express
「Express って名前はよく聞くけれど、どうして便利なの?」、「仕組みはどうなっているの?」という疑問を、お嬢様と先生の会話を通して深掘りしてまいりますわ✨

光と影の舞台裏|第2回 サーバーサイド入門光と影の舞台裏|第2回 サーバーサイド入門


🎭 Expressって何?

user01 Surprised
先生……Express という名前、とてもスマートで響きも素敵ですわね。でも、いったい何をしてくださるものなのかしら?💭
user02 Calm
良い質問ですね。Express は「Node.js 上で Webサーバーを簡単に作れるフレームワーク」です。つまり、Node.js が持つ基礎的なサーバー機能をより扱いやすく整えてくれる道具、と考えていただければ分かりやすいでしょう。
user01 Troubled
あら……でも、Node.js だけでもサーバーは作れるのではなくて?前回「http モジュール」で動かしましたわよね。
user02 Happy
その通りです。Node.js 単体でも確かにできます。しかし規模が大きくなると、ルーティング(どのURLで何を返すか)やミドルウェア(共通処理の仕組み)を自前で整える必要が出てきます。Express は、それらをシンプルな書き方でまとめられるようにしたのです。

📝 解説:Expressの仕組み

Express は、Node.js の http モジュールをベースに作られています。つまり Node.js の機能をラップ(包み込み)して、開発者にとって使いやすくしたライブラリ なのです。

📌 Expressの特徴

  1. ルーティング機能
    • / にアクセスされたらこの処理をする」と簡単に書ける。
    • URLごとに処理を振り分けやすい。
  2. ミドルウェア機能
    • リクエストが届いたとき、複数の処理を順番に通していける仕組み。
    • 例:ログを取る → 認証をチェックする → 本処理を実行する。
  3. 拡張性
    • 認証やテンプレートエンジン、セキュリティなど、外部ライブラリと組み合わせやすい。

🎭 ルーティングの力

user01 Happy
まあ! ルーティングというのは「お客様がどの席に座るかを案内する」ようなものかしら?✨
user02 Calm
まさにその通りです。レストランで例えると、URL が「お客様の希望」、ルーティングが「店員さんの案内」、そして処理が「料理」です。
例えば `/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 では 自然な文章のように書ける のが魅力です。


🎭 ミドルウェアという魔法

user01 Calm
先生、ルーティングは分かりましたわ。でも「ミドルウェア」という言葉、なんだか難しそうですわね……😳
user02 Serious
ミドルウェアとは「リクエストが目的地に届く前に通るチェックポイント」のようなものです。たとえば全てのリクエストに対してログを残したいとき、ミドルウェアを使えば処理を一箇所にまとめられるのです。

📝 解説:簡単なミドルウェア

// リクエストが来るたびにログを出すミドルウェア
app.use((req, res, next) => {
  console.log(`${req.method} ${req.url}`);
  next(); // 次の処理へ進む
});

app.get('/', (req, res) => {
  res.send('トップページです');
});
  • app.use() でミドルウェアを登録。
  • next() を呼ぶことで次の処理へ。
  • 認証や共通設定に活用できる。

🎭 リアクション

user01 Happy
まあ! Express を使えば、サーバーがとても優雅で整理されたものになるのですのね。✨
Node.js 単体よりも「読みやすく、拡張しやすく」なるのが分かってまいりましたわ!
user02 Happy
その感覚はとても大切です。Express はまるで「料理を効率よく回す魔法のレストランツール」。次回は、さらに一歩進んで「リクエストの中身を扱う方法」について学んでいきましょう。

✅ まとめ

  • Express は Node.js 上で動く Web フレームワーク
  • Node.js の http モジュールをラップして、開発をシンプルにする。
  • 主な特徴は ルーティングミドルウェア
  • 簡単なコードでリクエストに応答でき、拡張性も高い。

過去はこちらから 小さな扉から広がる世界|第1回 サーバー入門小さな扉から広がる世界|第1回 サーバー入門 光と影の舞台裏|第2回 サーバーサイド入門光と影の舞台裏|第2回 サーバーサイド入門