Node.jsを使ってWebアプリケーションを開発する際、効率的なルーティングやミドルウェアの活用が求められます。その中で最も人気のあるフレームワークの一つが Express.js です。本記事では、Express.jsの基本的な特徴や使い方について、初心者向けにわかりやすく解説します。
[目次を開く]
1. Express.jsとは?
Express.js(以下Express)は、Node.js上で動作する 軽量なWebアプリケーションフレームワーク です。主に以下のような特徴を持っています。
✅ Express.jsの特徴
- シンプルで軽量:最小限の機能に絞られており、必要なものを自由に追加できる。
- ルーティング機能が強力:URLごとの処理を簡単に設定可能。
- ミドルウェアが豊富:リクエスト処理を柔軟にカスタマイズできる。
- REST APIの開発が容易:シンプルなAPIを素早く構築可能。
2. Express.jsのインストール
Expressを使用するには、まずNode.jsをインストールしておく必要があります。
Node.jsがインストール済みであることを確認したら、以下の手順でExpressをインストールします。
✅ プロジェクトの作成とExpressのインストール
mkdir my-express-app
cd my-express-app
npm init -y
npm install express 上記のコマンドで、Node.jsのプロジェクトを作成し、Expressをインストールできます。
3. 簡単なサーバーを作成
Expressを使って基本的なサーバーを作成してみましょう。
✅ server.js の作成
プロジェクトのルートディレクトリに server.js を作成し、以下のコードを記述します。
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello, Express!');
});
app.listen(3000, () => {
console.log('Server is running on http://localhost:3000');
}); ✅ サーバーの起動
ターミナルで以下のコマンドを実行し、サーバーを起動します。
node server.js ブラウザで http://localhost:3000 にアクセスすると "Hello, Express!" と表示されれば成功です。
4. ルーティングの基本
Expressでは、リクエストのURLやメソッドに応じて処理を分けることができます。
✅ ルーティングの例
app.get('/about', (req, res) => {
res.send('About Page');
});
app.post('/submit', (req, res) => {
res.send('Form submitted');
}); 上記のコードでは、/about にGETリクエストを送ると "About Page" が表示され、/submit にPOSTリクエストを送ると "Form submitted" が返されます。
5. ミドルウェアの活用
Expressのミドルウェアを使うことで、リクエストとレスポンスの処理を柔軟に拡張できます。
✅ 代表的なミドルウェア
-
express.json():JSONのリクエストボディをパース -
express.static():静的ファイルの提供 -
morgan:リクエストのログを出力
✅ ミドルウェアの実装例
const express = require('express');
const app = express();
const morgan = require('morgan');
app.use(express.json());
app.use(morgan('dev'));
app.post('/data', (req, res) => {
console.log(req.body);
res.json({ message: 'Data received', data: req.body });
});
app.listen(3000, () => {
console.log('Server is running on http://localhost:3000');
}); このコードでは、リクエストのJSONデータを受け取って処理し、ログを出力する機能を追加しています。
6. テンプレートエンジンの使用
WebアプリでHTMLを動的に生成する場合、テンプレートエンジンを使うと便利です。Expressでは EJS などのテンプレートエンジンを簡単に組み込めます。
✅ EJSの導入
npm install ejs ✅ EJSを使ったページの表示
app.set('view engine', 'ejs');
app.get('/hello', (req, res) => {
res.render('hello', { name: 'Express' });
}); このようにすると、views/hello.ejs をテンプレートとして表示できます。
7. REST APIの作成
ExpressはREST APIの開発にも最適です。
✅ シンプルなAPIの例
const users = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' }
];
app.get('/users', (req, res) => {
res.json(users);
});
app.get('/users/:id', (req, res) => {
const user = users.find(u => u.id == req.params.id);
user ? res.json(user) : res.status(404).send('User not found');
}); このAPIでは、ユーザー一覧の取得や特定のユーザーの取得が可能になります。
8. まとめ
Express.jsは、シンプルかつ柔軟なWebフレームワーク で、初心者でも扱いやすいのが特徴です。本記事で紹介した基本的な使い方を押さえれば、簡単なWebアプリやREST APIを開発できるようになります。
✅ 本記事のおさらい
- ExpressはNode.js向けの軽量フレームワーク
- インストール後、数行のコードでサーバーを作成可能
- ルーティングやミドルウェアを活用して機能を拡張
- テンプレートエンジンを使えば動的なページ生成も可能
- REST APIの開発にも適している
Expressをマスターして、効率的なWeb開発を進めていきましょう!

