nodemonは.jsファイルを監視実行する以外にも使えますよという内容。
サンプル的なコードはこちら。
https://github.com/gcoka/scss-practice
背景
sassの練習をしようとして、各環境を作ろうとしたのですが、
なんとなくgemのsassを入れるのを嫌ってnode-sassで変換させようとしました。
node-sass -o dist --output-style expanded --include-path src --watch src/test.scss
ところが、いくら--watchオプションをつけても、最初の起動時に1度変換するだけで、ファイル変更しても一切反応してくれませんでした。--watchにバグがあるようなissueも見かけたので、諦めてnodemonにファイル監視させることにしました。
nodemonにファイル監視だけさせるには
--execオプションを使います(短いオプションは-x)
本来の使い方は、node server.jsの代わりとしてnodemon server.jsといった具合に実行するJavaScriptを渡しますが、代わりに--execを渡すこともできます。今回の例だと--execで実行するコマンドはnodeで起動するコマンドですらありませんが、問題ありません。
package.jsonに動かしたいコマンドと、監視付きのコマンドの両方を定義しましょう。
"scripts": {
  "sass": "node-sass -o dist --output-style expanded --include-path src src/test.scss",
  "watch:sass": "nodemon --ext scss --watch src --exec 'npm run sass'"
},
他にも
工夫次第で、開発時の自動リロードを実現するための補助として使うことが出来ます。
よくある例では、 node.js + Expressなどで、 src以下が変更されたらnpm run startを起動し直すとか。
nodemon --ext js,jsx,scss,html --watch src -x 'npm run start'
