1. Express.jsインストール

Express.jsを使って、実用的なWebサーバーやAPIを作成する方法を学習します。

この章で学べること

  • Express.jsが何かを理解する
  • Express.jsのインストールとセットアップ方法を理解する

Express.jsとは

Express.jsは、Node.jsでWebアプリケーションやAPIを簡単に作成できるフレームワークです。シンプルな構文で人気が高く、多くのWebサービスで利用されています。

Express.jsの特徴

  • シンプルな構文: 少ないコードで多くの機能を実現
  • 柔軟性: 必要な機能だけを追加できる
  • 豊富なエコシステム: 多くのミドルウェアが利用可能
  • 業界標準: 多くの企業で採用されている

httpモジュールとの比較

前章で学んだhttpモジュールと比較してみましょう。

httpモジュール

import http from 'http';

const server = http.createServer((req, res) => {
  if (req.url === '/') {
    res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
    res.end('Hello World');
  } else if (req.url === '/about') {
    res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
    res.end('About');
  }
});

server.listen(3000);

Express.js

import express from 'express';
const app = express();

app.get('/', (req, res) => {
  res.send('Hello World');
});

app.get('/about', (req, res) => {
  res.send('About');
});

app.listen(3000);

Express.jsの方が、より簡潔で読みやすいコードになっています。

プロジェクトを作成しよう

Express.jsを使ってWebサーバーを作成しましょう。
まずは、プロジェクトのディレクトリを作成します。 node-express という名前で作成します。

mkdir node-express
cd node-express

次にnpm initコマンドを実行します。

npm init -y

次のコマンドで package.jsonにmoduleモードの設定を追加します。

npm pkg set type=module

Express.jsをインストール

Express.jsをインストールします。

npm install express

基本的なExpress.jsサーバー

最もシンプルなExpress.jsサーバーを作成してみましょう。

server.jsというファイルを作成して、次のコードを記入してください。

import express from 'express';

const app = express();
const PORT = 3000;

// ルートパス(/)にアクセスしたときの処理
app.get('/', (req, res) => {
  res.send('Hello, Express!');
});

// サーバーを起動
app.listen(PORT, () => {
  console.log(`サーバーが起動しました: http://localhost:${PORT}`);
});

コードの説明

  1. express(): Expressアプリケーションを作成
  2. app.get(): GETリクエストを処理するルートを定義
    • 第1引数: URLパス('/'
    • 第2引数: リクエストが来たときに実行されるコールバック関数
  3. res.send(): レスポンスを送信(Content-Typeを自動判定)
  4. app.listen(): サーバーを指定したポートで起動

サーバーを起動

次のコマンドでサーバーを起動します。

node server.js

ブラウザで http://localhost:3000 にアクセスすると、「Hello, Express!」と表示されます。

サーバーを停止

サーバーを停止するには、ターミナルで Ctrl + C を押します。

演習問題

以下の問題を解いて、Express.jsの理解を深めましょう。

問題1: Express.jsの特徴に関するクイズ
問1: Express.jsの特徴の1つである「シンプルな構文」とは、どのような意味ですか?
問題2: Express.jsの柔軟性
問2: Express.jsの「柔軟性」とは、どのような特徴を表していますか?
問題3: Express.jsのエコシステム
問3: Express.jsの「豊富なエコシステム」とは、どのような意味ですか?
問題4: Express.jsの業界標準
問4: Express.jsが「業界標準」であるということは、どのような意味ですか?
問題5: httpモジュールとの比較
問5: httpモジュールと比較して、Express.jsの主な利点は何ですか?(複数選択可)

まとめ

この章では、Express.jsを使ってWebサーバーを作成する方法を学びました。

学んだこと

  • Express.jsの特徴
  • Express.jsのインストールとセットアップ

次回予告

次回はExpress.jsのルーティングについて学びます。