Syntax Error.

[Sy] express-generator を使ってアプリの雛形を作った場合にポートを変える方法(npm-scripts使って簡略化)

2018/01/17

package.jsonnpm-scripts に設定を追加して、 express-generator で作成したアプリのポートを指定して起動する方法です。

おさらい

前回の記事はこちらです。

⇒ [Sy] express-generator を使ってアプリの雛形を作った場合にポートを変える方法

ここまでやったことは、

  • nodebrew を使って node と npm をインストール
  • express-generator を使って my-app を作成
  • PORT=3333 と起動時に指定することでポートを変更デキることを確認

というところまでです。

今回は、いちいち起動時に PORT=3333 なんて付けるのはめんどくさいので、 npm-scripts( package.json の script のところに記載して実行する) を使って簡単にポートを変えて起動できるようにします。

1. package.json を編集

express-generator が最初に作ってくれている package.json には、script の部分がこうなってます。

(package.json)

{
  ・
  ・
  "scripts": {
    "start": "node ./bin/www"
  },
  ・
  ・
}

ここに start という設定があるので、 npm start というコマンドでアプリを起動できていたということになります。

この部分に、以下のように local という設定を追加します。

(package.json)

{
  ・
  ・
  "scripts": {
    "start": "node ./bin/www",
    "local": "DEBUG=my-app:* PORT=3333 node ./bin/www"
  },
  ・
  ・
}

2. 起動

これで、以下のコマンドでポート 3333 番で簡単に起動できるようになります。

$ npm run local

> my-app@0.0.0 local /Users/utano320/Documents/Develop/my-app
> DEBUG=my-app:* PORT=3333 node ./bin/www

  my-app:server Listening on port 3333 +0ms

local など自分で追加したものは、 npm run local のように npm run の後に指定する必要があるので注意してください。(start, stop, testrun なしで使えるようになっています)