はじめに&結論
node-dev
というツールがあります。
これを使えば、Node.js製のアプリのソースコードに変更があった際に自動再起動してくれる優れものです。Express.js
やKoa.js
を使ったAPIサーバー開発時に有用なツールです。
まぁ他にもpm2
とかnodemon
とかあるっぽいですが、とりあえずまずはこれを試してみようと思ったわけです。
簡単な使い方としては次のような感じです。
yarn add -D node-dev # ローカルにインストール npx node-dev index.js # これ以降、ファイルを編集すると自動再起動する
このツールをVirtualBox上で動いているNode.js製サーバーに対して使って、ホスト側で編集をする!という開発スタイルを取ってみようかと思ったら、なんと自動再起動してくれないではありませんか。
ググったら、GitHubで次のようなIssueが見つかりました。
Using node-dev in a shared folder in a virtualbox guest #87
ははーんなるほどね、VirtualBoxがファイルの更新イベントを発火してくれないわけね、なるほど(多分)。
下の方でpolling
がどうのって話をしているので、リポジトリのトップのREADMEを表示してpoll
で検索したら解決策が見つかりました。
--poll
オプションをつければVirtualBox上でも自動再起動ができるようです。
2つ注意しないといけないのは、実行するファイル名より前に--poll
オプションをつけないといけないというところと、--poll
オプションはCPUを食うようです。
npx node-dev index.js --poll # NG npx node-dev --poll index.js # OK
以上です。