Express.jsをコアモジュールとCLIとDockerでそれぞれ環境構築する方法

Express.jsの環境を構築する方法を紹介します。コードもGit Hubに掲載するので参考にしてください。

概要

Node.js ベースの Web フレームワークである Express.js の様々な環境構築方法について解説します。

本記事では、以下3通りの方法で環境構築をする方法を紹介します。


  1. Express.jsのコアモジュールで環境構築する方法
  2. Express Generatorを使用して、環境構築する方法
  3. Dockerを使用して、環境構築する方法

ここでは、以下バージョンを使用した、Express.jsの環境を構築する方法を説明します。

Express.js v4.18.1 
nodejs v19.7.0

また、今回作成するコードは全て、GitHubに掲載しています。

※ Express.jsはNode.jsで動作します。Node.jsがインストールされていない場合は、公式ウェブサイトからダウンロードしてインストールしてください。
node.js

コアモジュールを使った環境構築方法

この方法では、Express.js のコアモジュールを Require して使用します。 以下の手順に従って実行してください。

Express.js単体で環境を構築するには、以下の前提条件を満たす必要があります

プロジェクトディレクトリの作成

まず、Express.jsプロジェクトを作成するために新しいディレクトリを作成します。コマンドラインで以下のコマンドを実行してください

mkdir express-core-project

プロジェクトディレクトリへの移動

プロジェクトディレクトリに移動します。以下のコマンドを実行してください:

cd express-core-project

移動後、プロジェクトのルートディレクトリに移動します。

プロジェクトの初期化

次に、作成したディレクトリでプロジェクトを初期

化します。以下のコマンドを実行して、package.jsonファイルを作成します

npm init -y

このコマンドにより、デフォルトの設定でpackage.jsonが生成されます。

Express.jsのインストール

Express.jsパッケージをインストールします。以下のコマンドを実行してください

npm install express@4.18.1 

これにより、Express.jsがプロジェクトに追加されます。

アプリケーションの作成

Express.jsアプリケーションを作成します。プロジェクトディレクトリ内に新しいファイル(例: app.js)を作成し、以下のコードを追加してください

app.js

const express = require('express');

const app = express();

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

app.listen(3000, () => {
  console.log('サーバーがポート3000で起動しました');
});

上記の例では、Express.jsアプリケーションの基本的な構造を示しています。app.get()メソッドを使用してルートパスに対するハンドラーを定義し、レスポンスとしてHello, Express.js!を返します。

最終的に以下のようなディレクトリ構造になります。

express-core-project
├── node_modules
│   └── (依存関係のパッケージ)
├── app.js
├── package-lock.json
└── package.json

サーバーの起動

最後に、Express.jsサーバーを起動します。以下のコマンドを実行してください

node app.js

サーバーが正常に起動すると、コンソールに「サーバーがポート3000で起動しました」と表示されます。 ブラウザでhttp://localhost:3000にアクセスして、Express.jsアプリケーションが正常に動作していることを確認してください。

Express Generatorを使った環境構築する方法

Express.jsは、Express Generatorを使用して環境を構築することもできます。 Express Generatorは、Express.jsプロジェクトを簡単に作成するためのコマンドラインツールです。 この記事では、Express Generatorを使用した環境構築手順を詳しく説明します。

Express Generatorのインストール

Express Generatorをグローバルにインストールします。以下のコマンドを実行してください:

npm install -g express-generator

これにより、Express Generatorがシステムにインストールされます。

プロジェクトの作成

Express.jsプロジェクトを作成するために、以下のコマンドを実行してください:

express express-generator-project

上記のコマンドでは、express-generator-projectという名前のプロジェクトディレクトリが作成されます。ディレクトリ名は任意のものに変更できます。

プロジェクトディレクトリへの移動

プロジェクトディレクトリに移動します。以下のコマンドを実行してください:

cd express-generator-project

移動後、プロジェクトのルートディレクトリに移動します。

依存関係のインストール

プロジェクトのルートディレクトリで、依存関係をインストールします。以下のコマンドを実行してください:

npm install

これにより、Express.jsおよび関連するパッケージがプロジェクトに追加されます。 最終的に以下のようなディレクトリ構造になります。

express-generator-project
├── node_modules
│   └── (依存関係のパッケージ)
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── index.js
│   └── users.js
├── views
│   ├── error.jade
│   ├── index.jade
│   └── layout.jade
├── app.js
├── package.json
└── package-lock.json

サーバーの起動

Express.jsサーバーを起動します。以下のコマンドを実行してください:

npm start

サーバーが正常に起動すると、コンソールに「サーバーがポート3000で起動しました」と表示されます。 ブラウザでhttp://localhost:3000にアクセスして、Express.jsアプリケーションが正常に動作していることを確認してください。

Express Generatorを使用すると、Express.jsプロジェクトの環境構築が簡単になります。Express Generatorをインストールし、expressコマンドを使用してプロジェクトを作成し、依存関係をインストールするだけで、素早くExpress.jsアプリケーションの開発を始めることができます。

Dockerを使った環境構築する方法

まずはじめに、Dockerをインストールしてください。公式のDockerウェブサイトから、対応するオペレーティングシステムに合わせたDockerのインスト

ーラーをダウンロードし、インストールを行ってください。

プロジェクトディレクトリの作成

まず、Express.jsプロジェクトを作成するために新しいディレクトリを作成します。コマンドラインで以下のコマンドを実行してください

mkdir express-docker-project

プロジェクトディレクトリへの移動

プロジェクトディレクトリに移動します。以下のコマンドを実行してください:

cd express-docker-project

移動後、プロジェクトのルートディレクトリに移動します。

プロジェクトの初期化

Express.jsプロジェクトを初期化するために、以下のコマンドを実行します。

npm init -y

必要なパッケージのインストール

Express.jsとDockerイメージの作成に必要なパッケージをインストールします。

npm install express@4.18.1 

Dockerfileの作成

Express.jsアプリケーションをDockerイメージとしてビルドするために、プロジェクトフォルダ内にDockerfileという名前のファイルを作成し、以下の内容を追加します。

FROM node:19.7.0-alpine

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 3000

CMD ["node", "app.js"]

アプリケーションの作成

Express.jsアプリケーションを作成します。プロジェクトディレクトリ内に新しいファイル(例: app.js)を作成し、以下のコードを追加してください

Dockerでは、全てのホストから接続が出来るように0.0.0.0でリッスンします。

app.js

const express = require('express');

const app = express();

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

app.listen(3000, '0.0.0.0', () => {
  console.log('サーバーがポート3000で起動しました');
});

Dockerイメージのビルド

以下のコマンドを使用して、Dockerイメージをビルドします。

docker build -t express-docker-project .

Dockerコンテナの実行

ビルドしたDockerイメージからDockerコンテナを実行します。

docker run -p 3000:3000 -d express-docker-project

これにより、Express.jsアプリケーションがDockerコンテナ内で実行され、ホストのポート3000にマッピングされます。ブラウザやAPIテストツールなどから http://localhost:3000 にアクセスすることでExpress.jsアプリケーションにアクセスできます。

以上が、Dockerを使用してExpress.jsアプリケーションを環境構築する手順です。Dockerを活用することで、環境構築の手間を減らし、開発プロセスをスムーズにすることができます。

注意: ホストのファイアウォールやネットワーク設定によっては、ポート3000へのアクセスが制限されている場合があります。必要に応じて、ファイアウォールやネットワーク設定を調整してください。