もちろん、Node.js と Express フレームワークの基本的な使い方について、初心者向けに日本語で詳細に解説します。以下に完全で包括的な記事を提供します。
Node.js と Express フレームワーク入門
1. Node.js とは?
Node.js は、サーバーサイドの JavaScript 実行環境です。Google Chrome の V8 JavaScript エンジンを使用して、サーバーサイドでも JavaScript を実行できるようにしています。これにより、フロントエンドとバックエンドで同じプログラミング言語を使用できるというメリットがあります。

Node.js の主な特徴:
- 非同期 I/O: 非同期処理を得意とし、大規模なリクエストに対応できる。
- シングルスレッド: イベント駆動型で高いパフォーマンスを発揮する。
- パッケージ管理: npm (Node Package Manager) を使用して、豊富なモジュールをインストールして利用できる。
2. Express フレームワークとは?
Express は Node.js のための軽量な Web アプリケーションフレームワークです。HTTP リクエストの処理やルーティング、ミドルウェアの使用が簡単に行えるため、Node.js を使った開発を効率的に進めることができます。特に、RESTful API を構築する際に非常に便利です。
Express の主な特徴:
- シンプルで直感的な API
- ミドルウェアによるリクエスト処理のカスタマイズ
- 強力なルーティング機能
- テンプレートエンジンのサポート
3. Node.js と Express の環境構築
Node.js と Express のセットアップは、非常に簡単です。以下の手順に従ってセットアップを行いましょう。
(1) Node.js のインストール
まず、Node.js を公式サイトからダウンロードしてインストールします。
インストール後、ターミナルで以下のコマンドを実行して、インストールが成功したことを確認します。
bashnode -v npm -v
これで、Node.js と npm のバージョンが表示されれば、インストールは成功です。
(2) プロジェクトの作成
次に、Node.js と Express のプロジェクトを作成します。プロジェクトフォルダを作成し、初期化します。
bashmkdir my-express-app
cd my-express-app
npm init -y
npm init -y
コマンドは、package.json
ファイルを自動的に生成します。
(3) Express のインストール
次に、Express をインストールします。
bashnpm install express
これで、プロジェクトに Express がインストールされます。
4. Express の基本的な使い方
インストールが完了したら、Express を使って簡単なサーバーを作成しましょう。
(1) 基本的なサーバーの作成
app.js
ファイルを作成し、以下のコードを記述します。
javascriptconst express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});
このコードは、Express を使って基本的な Web サーバーを作成します。GET
リクエストでルート (/
) にアクセスすると、「Hello World!」というメッセージが表示されます。
(2) サーバーの起動
以下のコマンドでサーバーを起動します。
bashnode app.js
ブラウザで http://localhost:3000
にアクセスすると、「Hello World!」というメッセージが表示されます。
5. ルーティングの追加
Express では、ルーティングを簡単に追加することができます。例えば、複数のページを作成する場合は、次のように書きます。
javascriptapp.get('/about', (req, res) => {
res.send('This is the about page');
});
app.get('/contact', (req, res) => {
res.send('This is the contact page');
});
これで、/about
と /contact
のページにもアクセスできるようになります。
6. ミドルウェアの使用
Express ではミドルウェアを使ってリクエストやレスポンスを処理することができます。例えば、リクエストのログを表示するミドルウェアを作成してみましょう。
javascriptapp.use((req, res, next) => {
console.log(`Request URL: ${req.url}`);
next();
});
このミドルウェアは、すべてのリクエストに対して URL をログに出力します。next()
を呼び出すことで、次のミドルウェアまたはルートハンドラに処理を渡します。
7. エラーハンドリング
エラーハンドリングは Web アプリケーションにとって重要です。Express では、エラー処理を次のように行います。
javascriptapp.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something went wrong!');
});
このミドルウェアは、エラーが発生した際にエラーメッセージをログに出力し、クライアントには 500 のエラーメッセージを返します。
8. 静的ファイルの提供
Express では静的ファイル(画像や CSS ファイルなど)を簡単に提供できます。以下のように設定します。
javascriptapp.use(express.static('public'));
これにより、public
フォルダ内のファイルが静的ファイルとして提供されます。
9. テンプレートエンジンの使用
Express はテンプレートエンジン(例: EJS, Pug)をサポートしています。EJS を使って動的な HTML を作成してみましょう。
(1) EJS のインストール
bashnpm install ejs
(2) EJS の設定
javascriptapp.set('view engine', 'ejs');
app.get('/', (req, res) => {
res.render('index', { message: 'Hello from EJS!' });
});
これで、views
フォルダ内に index.ejs
ファイルを作成し、以下のように書くことができます。
htmlhtml>
<html>
<head><title>Express with EJStitle>head>
<body>
<h1><%= message %>h1>
body>
html>
message
変数が HTML 内に埋め込まれて表示されます。
10. 結論
Node.js と Express は、シンプルで強力な Web 開発ツールです。これを使うことで、高速なサーバーサイドアプリケーションを構築できます。基本的なセットアップやルーティング、ミドルウェア、エラーハンドリングを理解することで、より高度な機能やアプリケーションの開発が可能になります。
この記事を参考にして、Node.js と Express の基本的な使い方を学び、実際のプロジェクトで活用してみてください。