Express のインストール - Node.js

Express のインストール

Express のインストール

npm install --save express

Express5 をインストールするには、以下のようにします。

Express5 のインストール

npm install "express@^5.0.1" --save

Express generator を使用した場合、package.jsonを以下のように変更します。

{
  "name": "myapp",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "cookie-parser": "~1.4.4",
    "debug": "~2.6.9",
    "ejs": "^3.1.10",
    "express": "5.0.1",
    "http-errors": "~1.6.3",
    "morgan": "~1.9.1"
  }
}

Express Generator のインストール

「 Express Generator 」を使うことで、Web アプリケーションの骨組みをまとめて作成することができます。

Express Generator を使って作成すると、package.json が作成されるため、上記のセクションのExpressのインストールはしなくても、「 npm install 」で必要なパッケージはインストールされます。

Express Generator をインストールするには、以下のコマンドを実行します。-g オプションはグローバル環境にインストールするオプションです。

npm install -g express-generator

「 Express Generator 」を使って、アプリケーションを作成するディレクトリに移動し、次のコマンドを実行します。

express -e myapp

コマンドのオプションの「 -e 」は、テンプレートエンジンで「 EJS 」を指定する為のオプションです。

オプションを指定しなければ、テンプレートエンジンは「 Pug 」が指定されます。

作成されたアプリケーションの「 myapp 」ディレクトリに移動して、必要なパッケージをインストールします。

パッケージのバージョンを変更するには、「 package.json 」を編集してから「 npm install 」を実行します。

# Express アプリケーションのディレクトリに移動
cd myapp

# パッケージのインストール
npm install

Express Generator で作成されたアプリのディレクトリ構成

Express Generator バージョン

  • 4.16.1

「 Express Generator 」で作成したアプリケーションのフォルダ構成は以下のようになります。

  • example
    • bin
      • www
    • node_modules
      • ...
    • public
      • images
      • javascripts
      • stylesheets
        • style.css
    • routes
      • index.js
      • users.js
    • views
      • error.ejs
      • index.ejs
    • app.js
    • package-lock.json
    • package.json

※ node_modules のフォルダの中には、インストールしたモジュールのフォルダが保存されています。

アプリケーションの起動

「 myapp 」ディレクトリ内で以下のコマンドを実行して、アプリケーションを起動します。

npm start

ブラウザで「 http://localhost:3000 」にアクセスして 「 Wlecome to Express 」が表示されれば成功です。

Wlecome to Express

Express Generator で作成されたアプリは「 bin/www 」がサーバー起動用のファイルです。以下の方法でも起動できます。

node ./bin/www

起動させるポートの変更

起動させるポート番号を変更する際は、「 bin/www 」を変更します。

次のコードの※1を3000 を使っていない番号に変更します。

var port = normalizePort(process.env.PORT || '3000'); // ※1
app.set('port', port);