tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

【node】npmパッケージ nodemonを使ってみるメモ

はじめに

Node.jsの開発時、ソースコードの修正のたびに手動でctrl + c/d -> node main.jsしていると思います。
この一連の監視と再起動を自動で行ってくれるパッケージnodemonを使うメモです。

アジェンダ

  1. nodemonとは
  2. nodemonのインストール
  3. nodemonの実行方法

1. nodemonとは

はじめにでも触れましたが、
nodemonとは、ソースコードの変更を監視し、自動的にnodeコマンドを再起動してくれるnpmパッケージです。

詳細は本家をご確認ください。

2. nodemonのインストール

nodemonのインストールは2通りあります。

2.1. グローバルにインストールする(dependency)
2.2. 開発用だけにインストールする(devDependency)

2.1. グローバルにインストールする(dependency)

$ npm install -g nodemon

2.2. 開発用だけにインストールする(devDependency)

$ npm install --save-dev nodemon

3. nodemonの実行方法

利用もいくつか方法があります。

3.1. グローバルインストールした場合
3.2. 開発用だけにインストールした場合

3.1. グローバルインストールした場合

グローバルにインストールすると、PATHが通るのでコマンドがそのまま使えます。

$ nodemon main.js

3.2. 開発用だけにインストールした場合

開発用にだけインストールした場合、PATHが通っていません。
そのため、実行方法は大きく3通りあります。

  • package.jsonのscriptsを通して実行
  • npx経由で実行
  • 手動実行
package.jsonのscriptsを通して実行

一般的な実行方法です。
package.jsonのscriptsは後述する手動実行をかわりに行ってくれます。

# "start"行を追加
$ vim package.json
-- vim --
  "scripts": {
    "start": "nodemon main.js",
    "test": "echo \"Error: no test specified\" && exit 1"
   }
---------

# 実行
$ node start
npx経由で実行

npmにはnpxというコマンドが同梱されています。
npxを使うと、ローカルにインストールしたnpmパッケージを、npxコマンドだけで実行できるようになります。

$ npx nodemon main.js
手動実行

nodemonの実態は./node_modules/nodemon/bin/nodemon.jsにあります。
また、npmインストールを行うと実行用のファイルも別途生成されています。

# 実態ファイルの確認
$ ls -l ./node_modules/nodemon/bin/nodemon.js
-rwxr-xr-x  1 tweeeety  tweeeety  438 10 26  1985 ./node_modules/nodemon/bin/nodemon.js

$ 実行ファイルの確認
$ ls -l ./node_modules/.bin/nodemon
lrwxr-xr-x  1 tweeeety  tweeeety  25  6 13 03:35 ./node_modules/.bin/nodemon -> ../nodemon/bin/nodemon.js

つまり、実行用ファイルを通して実行する場合は以下のように行います。

$ ./node_modules/.bin/nodemon main.js

参照

終わり

nodemon便利\(^o^)/