2017-11-16 6 views
1

NodeとExpressの両方を初めて使用しています。Express.jsでルートファイルが更新されない

Express.jsがよかったので、バニラインストールのローカルデプロイメントを作成しました。

respond with a resource

私が代わりにこれにテキストを変更してみてください:

respond with no resource

をしかし、変更が行われていないhttp://localhost:3000/usersを訪問

が期待されるメッセージを出力します。これはusers.jsのコンテンツで、デフォルトとほぼ同じです:

var express = require('express'); 
var router = express.Router(); 

/* GET users listing. */ 
router.get('/', function(req, res, next) { 
    res.send('respond with no resource'); 
}); 

module.exports = router; 

ここにはスクリーンショットがあります。左上は上記のコードです。左下に「リソースで応答する」というgrepが表示され、結果が得られません。右側は古いデータを表示する私のブラウザです。

データが更新されていないと私は何をしていますか

+0

'users.js'を変更した後でサーバーを再起動しましたか? – Ayoub

+0

@Ayoub私はちょうどそれをして、それは正しいことです。これは、サーバーの再起動を必要としないApache環境からの予期せぬものでした。非常に非効率なようです。 – Naltroc

答えて

3

node <path/to/main>.jsを使用してアプリケーションを実行すると、アプリケーションは自動的に更新されません。 nodeは、プロセスが終了するまで、最初に起動したときの形式でアプリケーションを実行します。

これに対処する最も一般的な方法は、プロセスマネージャを使用することです。開発中に最も一般的なものはnodemonです。 nodemonを使用するには、npm i -g nodemonを使用してマシンにグローバルにインストールします(これを行うには、おそらく管理者権限が必要です)。次に、nodeの代わりにnodemonを使用してアプリケーションを実行します。

nodemon <path/to/main>.js

+1

変更が見られなかった理由を説明し、共通の練習解決策を提示するための小道具。 – Naltroc

関連する問題