NodeJS(4.4.5)をインストールしてから、nodemon(1.9.2)のインストールに進み、インストールのすべての指示に従います(npm install -g nodemon)
私は新しいフォルダを作成しました。その中にはserver.jsといくつかの基本的なコードがあります:
var http = require('http');
http.createServer(function (request, response){
response.writeHead( 200, {'Content-Type': 'text/plain'} );
response.write("Hello world");
response.end();
}).listen(3000, 'localhost');
console.log('http://localhost:3000');
したがって、コンソール「nodemon server.js」で実行すると、次のようになります。
[nodemon] 1.9.2
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node server.js`
http://localhost:3000
(これは、正常に実行されていることを意味します)
しかし、server.jsに変更を加えても、サーバーが再起動しません。
何が問題になる可能性がありますか?
一部のネットワーク環境(マウントされたドライブ全体でnodemon読み取りを実行するコンテナーなど)では、Chokidarのポーリングを有効にするlegacyWatch:trueを使用する必要があります。
CLIを介して、-legacy-watchまたは略して-Lのいずれかを使用します。
nodemon -L
Nodemon 1.9.2でも同じ問題が発生しました:nodemonによって0個のファイルが監視されました
(冗長モードを試してくださいnodemon server.js -V
詳細情報を入手するには)
いくつかの調査の後、この問題は私のルートディレクトリ名が原因でした:私のルートディレクトリは「mysite.git」という名前だったので、nodemonは0ファイルを監視していました。ドットなしでルートディレクトリの名前を変更しましたが、nodemonは期待どおりに機能するようになりました。
ルートディレクトリからすべての特殊文字を削除すると、nodemonは期待どおりに機能するはずです。
スクリプトに追加することを確認してください-> start --legacy-watch ./app
"scripts": {
"start": "nodemon --legacy-watch ./app ./bin/www "
},
コードに変更を加えて保存するのと同じ問題のように思われる問題が発生しましたが、nodemonはサーバーを再起動しませんでした。更新できる唯一の方法は、コンソールの「rs」を使用することでした。私はここで解決策を探して終了しましたが、それが機能しなかった理由の適切な説明がなかったため、nodemonを再インストールすることにしました:
npm uninstall nodemon
npm install nodemon
再インストール後、コード変更時に自動再起動が機能しました。
次のようにpackage.jsonファイルを編集します。
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon",
},```
This may help you.