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}`);
});
コードの説明
express(): Expressアプリケーションを作成app.get(): GETリクエストを処理するルートを定義- 第1引数: URLパス(
'/') - 第2引数: リクエストが来たときに実行されるコールバック関数
- 第1引数: URLパス(
res.send(): レスポンスを送信(Content-Typeを自動判定)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のインストールとセットアップ