Express.js プロジェクトの作成と実行
Express.js とは?
Express.js は、Node.js ベースの高速、オープン、シンプルな Web アプリケーションフレームワークです。単一ページ、複数ページ、ハイブリッド Web アプリケーションを構築するための一連の強力な機能を提供します。Express.js は、Node.js エコシステムの中で最も人気のあるフレームワークの一つで、そのシンプルで柔軟な設計により多くの開発者に愛されています。
Express.js の主な特性と利点
- シンプルで柔軟:Express.js はシンプルな API と柔軟なミドルウェア機構を提供し、Web アプリケーションの開発を非常に効率的に行えます。
- ミドルウェア:多種多様なミドルウェアをサポートし、リクエストとレスポンスの処理が簡単です。
- ルーティング:HTTP メソッドと URL パスに基づいてリクエストを処理する強力なルーティング機能。
- 高い統合性:各種テンプレートエンジン、データベース、その他の Node.js モジュールとシームレスに統合できます。
- コミュニティとエコシステム:大きなコミュニティと豊富なサードパーティミドルウェアやプラグインのサポート。
Express.js を使用すると、開発者は高性能な Web アプリケーションや API を迅速に構築できます。
ServBay を使用して Express.js プロジェクトを作成し実行する
この記事では、ServBay が提供する Node.js 環境を使用して Express.js プロジェクトを作成し実行する方法について説明します。ServBay の「ホスト」機能を使用して Web サーバーを設定し、リバースプロキシでプロジェクトにアクセスする方法を紹介します。
Express.js プロジェクトの作成
プロジェクトの初期化
まず、ServBay が提供する Node.js 環境をインストールしていることを確認します。その後、以下のコマンドを使用して新しい Express.js プロジェクトを初期化します:
bashcd /Applications/ServBay/www npx express-generator servbay-express-app
1
2依存関係のインストール
プロジェクトディレクトリに移動して依存関係をインストールします:
bashcd servbay-express-app npm install
1
2
Express.js プロジェクトの出力内容を変更する
routes/index.js
ファイルの修正routes/index.js
ファイルを開いて、ウェブページが "Hello ServBay!" を出力するように内容を修正します:javascriptvar express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.send('Hello ServBay!'); }); module.exports = router;
1
2
3
4
5
6
7
8
9
開発モードに入る
開発サーバーの実行
ポートを指定して開発サーバーを起動します(例:8585):
bashPORT=8585 DEBUG=servbay-express-app:* npm start
1これにより、ローカルで開発サーバーが起動し、ポート 8585 が公開されます。
ServBay ホストリバースプロキシの設定
ServBay の「ホスト」機能を使用してリバースプロキシで開発サーバーにアクセスします。ServBay の「ホスト」設定で、新しいリバースプロキシを追加します:
- 名前:
My first Express.js dev site
- ドメイン:
servbay-express-test.dev
- ホストタイプ:
リバースプロキシ
- IP:
127.0.0.1
- ポート:
8585
詳細な設定手順はNodejs 開発用のウェブサイトを追加するを参照してください。
- 名前:
開発モードにアクセス
ブラウザを開いて
https://servbay-express-test.dev
にアクセスし、リアルタイムでプロジェクトを確認します。ServBay はカスタムドメインと無料の SSL 証明書をサポートしており、より高いセキュリティを享受できます。
本番バージョンをデプロイする
本番環境の準備
本番環境でプロジェクトが正常に動作することを確認します。通常、Express.js プロジェクトは特別なビルド手順を必要としませんが、いくつかの環境変数の設定やその他の構成が必要かもしれません。
本番サーバーの実行
ポートを指定して本番サーバーを起動します(例:8586):
bashPORT=8586 NODE_ENV=production npm start
1ServBay ホストリバースプロキシの設定
ServBay の「ホスト」機能を使用してリバースプロキシで本番サーバーにアクセスします。ServBay の「ホスト」設定で、新しいリバースプロキシを追加します:
- 名前:
My first Express.js production site
- ドメイン:
servbay-express-test.prod
- ホストタイプ:
リバースプロキシ
- IP:
127.0.0.1
- ポート:
8586
- 名前:
本番モードにアクセス
ブラウザを開いて
https://servbay-express-test.prod
にアクセスし、本番バージョンを確認します。ServBay のカスタムドメインと無料の SSL 証明書を利用することで、Web サイトのセキュリティと信頼性が向上します。
データベース接続
ServBay は Redis、MariaDB、PostgreSQL、および MongoDB データベースをサポートしています。ここではそれらのデータベースに接続する方法を示します。
MongoDB に接続
mongoose
をインストールします:bashnpm install mongoose
1その後、プロジェクト内でインポートして接続します:
javascriptvar mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/servbay-express-app', { useNewUrlParser: true, useUnifiedTopology: true });
1
2
3Redis に接続
redis
をインストールします:bashnpm install redis
1その後、プロジェクト内でインポートして接続します:
javascriptvar redis = require('redis'); var client = redis.createClient(); client.on('error', function (err) { console.log('Error ' + err); });
1
2
3
4
5
6MariaDB に接続
mariadb
をインストールします:bashnpm install mariadb
1その後、プロジェクト内でインポートして接続します:
javascriptvar mariadb = require('mariadb'); var pool = mariadb.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'servbay_express_app' }); pool.getConnection() .then(conn => { console.log("Connected to MariaDB"); conn.release(); //release to pool }) .catch(err => { console.log("Not connected due to error: " + err); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16PostgreSQL に接続
pg
をインストールします:bashnpm install pg
1その後、プロジェクト内でインポートして接続します:
javascriptvar { Pool } = require('pg'); var pool = new Pool({ user: 'user', host: 'localhost', database: 'servbay_express_app', password: 'password', port: 5432, }); pool.connect((err, client, done) => { if (err) throw err; console.log('Connected to PostgreSQL'); done(); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
これで、ServBay が提供する機能を使用して、多種多様なデータベースに接続しつつ、Express.js プロジェクトを作成して実行することができました。