1. ルートにあいさつが返る
  2. 動作確認のパスが返る
コース一覧
Node.js入門
Expressを導入する

Node.js入門

Node.jsの実行モデル、npm、Expressによるルーティング、REST API設計、データベース接続、トランザクションを使った購入処理、トークン認証まで、バックエンド開発の基礎を、毎レッスン実際にコードを書き、フリマアプリのAPIを自分の手で作りながら学びます。

1
Node.jsとは
01. Node.jsとは15分
02. スクリプトを実行する15分
03. npmとは15分
04. package.json15分
05. npmスクリプト15分
06. つくる:プロジェクト始動20分
07. 第1章クイズ10分
2
モジュールと非同期の復習
01. import/export15分
02. ファイルを読み書きする15分
03. async/await復習15分
04. JSONの取り回し15分
05. つくる:データ層20分
06. 第2章クイズ10分
3
はじめてのサーバー
01. サーバーとリクエスト15分
02. Expressを導入する15分
03. ルーティング15分
04. JSONを返す15分
05. 開発の回し方15分
06. つくる:サーバー始動20分
07. 第3章クイズ10分
4
REST APIのきほん
01. RESTの考え方15分
02. 一覧を返す15分
03. 1件を返す15分
04. 登録を受ける15分
05. 更新と削除15分
06. ステータスコード15分
07. つくる:商品CRUD完成20分
08. 第4章クイズ10分
5
リクエスト処理と検証
01. クエリパラメータ15分
02. 並び替えとページング15分
03. 入力検証15分
04. ミドルウェア15分
05. エラーハンドリング15分
06. つくる:検索API完成20分
07. 第5章クイズ10分
6
データベース接続
01. DBにつなぐ15分
02. 一覧・詳細をDB化15分
03. 出品をDB化15分
04. SQLインジェクション20分
05. 更新・削除をDB化15分
06. 購入トランザクション20分
07. つくる:DB版fleama20分
08. 第6章クイズ10分
7
認証のきほん
01. 認証と認可15分
02. パスワードハッシュ15分
03. ログインとトークン15分
04. 保護ルート15分
05. 本人のものだけ15分
06. つくる:認証完備20分
07. 第7章クイズ10分
8
総合制作
01. fleama API完成20分
02. Reactと接続する20分
03. サーバーで常駐させる20分
04. 自由拡張20分
05. 完成と次のステップ15分

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 サーバーを作ります。ルートのパスに来たら、あいさつを返してください。

要件

  1. GET / に対して Hello fleama を返す
  2. GET /health に対して ok を返す
  3. 返すときは res.send(...) を使い、作った app を return する

入出力例

request("GET", "/") → "200 Hello fleama" request("GET", "/health") → "200 ok"

ヒント

`app.get(パス, (req, res) => { ... })` の形でパスと処理を結びつけます

返すのは `res.send("Hello fleama")` です。同じ形をもう 1 つ、`/health` にも書きます

登録していないパスは Express が自動で 404 を返すので、自分で書く必要はありません

生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/08/10

関連レッスン

  • ルーティング

    ルートページとaboutページを作り、パスごとに応答を分けられるようになります。

  • JSONを返す

    商品1件をJSONで返し、APIらしい応答を返せるようになります。

  • 開発の回し方

    変更から確認までを短くする回し方を知り、開発を高速化できるようになります。

  • つくる:サーバー始動

    健康確認と商品一覧のパスを備え、起動から応答までを自力で組めるようになります。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • メソッドクラスに属する関数
  • 関数処理に名前を付けて再利用できる単位
  • サーバークライアント(ブラウザなど)がリクエストを送り、サーバーがレスポンスを返す。
  • 処理計算や代入を表す長方形
  • 引数位置引数=順番で渡す。
  • リクエストWeb 通信の基本単位、ブラウザの問い合わせとサーバーの返答
main.js
学習モード
エディタを読み込んでいます

メモ

Expressを導入する

⌘S で保存