Nodejsアプリをnpm start
で実行しています
NodemonをSudo npm install -g nodemon
でインストールしたので、ファイルへの変更を保存するときにサーバーを再起動できます。
しかし、サーバーを起動しようとすると、次のようになります
nodemon ./app.js localhost 3000 or nodemon start localhost 3000
これを出力として取得します
LM-SJC-00871929:webapp gdeep$ nodemon ./app.js localhost 3000
28 May 23:34:30 - [nodemon] v1.1.1
28 May 23:34:30 - [nodemon] to restart at any time, enter `rs`
28 May 23:34:30 - [nodemon] watching: *.*
28 May 23:34:30 - [nodemon] starting `node ./app.js localhost 3000`
しかし、自分のウェブページに行くと、
Oops! Google Chrome could not connect to localhost:3000
。何が間違っていますか?
ここにApp.js http://collabedit.com/t35dy
app.listen
とは異なるファイルでapp.js
呼び出しを持つExpress 4を実行しています。探しているコマンドはnodemon bin/www
です(このシナリオではlocalhost
と3000
は不要です)。
実際、引数なしでnodemon
を実行することもでき、scripts.start
(エクスプレスが自動的に生成する)のpackage.json
から実行する必要のあるコマンドを読み取ります。
コードに次のコードを追加します
app.js
app.listen(3000, function(){
console.log("info",'Server is running at port : ' + 3000);
});
package.json
nodemon app.js
次に、コマンドラインからnpm start
を実行します。
nodemon ./app.js 3000 or nodemon start 3000
を実行してみてください
私の場合、nodemon globallyをインストールする必要がありました。これを行うには、このコマンドを使用します。
npm install -g nodemon
Linuxを使用している場合、管理アクセスのためにコマンドの前にSudoキーワードを付ける必要があります。
Sudo npm install -g nodemon
Express.js 4の場合、
nodemonを使用
または
nodemon bin/www
Nodemonを正しく更新するために私がしたことは次のとおりです。
nodemon index.js -L
-L
フラグはlegacyWatchを表します。公式ドキュメントの説明は次のとおりです。 https://www.npmjs.com/package/nodemon #application-isnt-restarting
また、空の.nodemonignore
。
Express4を使用している場合、最も簡単な方法はpackage.jsonに移動して"scripts": { "start": "node ./bin/www" }
"scripts": { "start": "nodemon ./bin/www" }
Express 4の場合;ただ走れ
ノデモン
ディレクトリ上のコマンド(引数なし);これは私のために動作します。
ありがとう、これを入力してからフォルダアプリケーションに入力する必要があります
cd your_project_folder
Sudo nodemon bin/www