フロントエンドの用語一覧へ
このページの目次

Express.jsとは?

読み方:express.js

最終更新:2026/08/18

3秒でわかる

Node.js で Web サーバーAPI を書くための軽量フレームワークルーティングミドルウェアという二つの仕組みだけを提供します。

もう少し詳しく

どういうものか

Express は Node.js 上で動く Web フレームワークです。Node.js の標準機能だけでもサーバーは書けますが、URL ごとの振り分けや JSON の読み取りを毎回自前で書くことになります。Express はそこを「ルーティング」と「ミドルウェア」という 2 つの形に整えたものです。

const express = require("express"); const app = express(); app.use(express.json()); app.get("/api/items/:id", (req, res) => { res.json({ id: Number(req.params.id), name: "コーヒー豆" }); }); app.post("/api/items", (req, res) => { res.status(201).json({ created: req.body }); }); app.listen(3000);

なぜ必要か

Web サーバーの処理には、どのリクエストでも共通してやることがあります。ログを残す、本文を JSON として読む、ログイン済みか確かめる、といった処理です。Express はこれを関数の列として並べられるようにしました。共通処理は app.use に積み、個別の処理はルートに書く、という分け方が固定されるので、人が増えてもコードの置き場所で揉めません。

つまずきやすいところ

express.json() を書き忘れると req.body が undefined になります。POST したのに中身が空、という詰まり方の大半はこれです。

非同期処理の中で投げた例外も落とし穴です。

app.get("/api/users", async (req, res, next) => { try { res.json(await findUsers()); } catch (err) { next(err); // これを忘れるとリクエストが返らない } });

Express 4 系は async 関数の中の例外を自動では拾いません。next(err) に渡して、末尾に置いたエラーハンドラで受けます。

もうひとつ、ルートの定義順は上から評価されます。/api/items/new/api/items/:id より後ろに書くと、new が id として読まれます。

似た用語との違い

  • Node.js — JavaScript の実行環境そのもの

  • Express — その上で Web サーバーを書きやすくするライブラリ

  • Next.js — 画面側まで含めて構成を決めるフレームワーク
  • Express は決め事が少ない分、フォルダ構成もエラー処理も自分で設計します。そこが自由さでもあり、最初の迷いどころでもあります。

    知識のつながり

    サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

    現在地Express.jsフロントエンド

    LEARN BY DOING

    この用語を、教材で使ってみる

    直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

    この用語を扱うコース

    Node.jsコースの全編を見る