LoginSignup
6
1

More than 5 years have passed since last update.

node-devを用いてVirtualBox上のNodeアプリを自動再起動する方法

Posted at

はじめに&結論

node-devというツールがあります。

これを使えば、Node.js製のアプリのソースコードに変更があった際に自動再起動してくれる優れものです。Express.jsKoa.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

以上です。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1