Express の特徴
Express は Node.js で簡単に Web サーバを構築できるようにするためのモジュールで、下記のような機能を備えています。
- URI ルーティング / RESTful インタフェース
- セッション / クッキー管理
- キャッシュ管理
- ロギング
- MIME タイプ
- テンプレート言語(Pug など)
- 認証
この記事は 2013 年頃に書き始めたものですが、2020 年になっても、Node.js 用の Web サーバーモジュールとして不動の地位を確立しています。 Express の開発経緯は以下の通りです。
- Express は Ruby の Sinatra にインスパイアされて開発されました。
- Node 自体に Web server API はありますが、Low level すぎて使いにくいです。Express モジュールの登場により、簡単に Web server を構築できるようになりました。
- かつて、似たようなプロジェクトとして、Ruby の Rack に影響された Connect という Node module もありましたが、2010 年に Express と Connect の両方のプロジェクトに参加していた T.J. Holowaychuk が統合して Express v1.0.0 になりました。
Express のメインモジュール (express) はごく基本的な機能だけを提供しており、拡張モジュールを組み合わせて、機能を追加していく方法を採用しています。
Express をインストールする
Express は Node Package Manager (NPM) を使って以下のようにインストールできます。
$ npm install express # カレントディレクトリにインストール
$ npm install express -g # グローバルにインストール
{
// ...
"dependencies": {
"express": "^1.0.0"
}
}アプリケーションの雛形を作成するコマンド express を使用できるようにするには、-g オプションを付けて、グローバルモジュールとしてインストールしておく必要があります。
$ express -V
3.4.2