エクスプレスを使用して簡単なノードプロジェクトを作成します。
npm install -g express-generator
express test
cd test/ && npm install
PORT=3000 npm start
これにより、テストアプリがポート3000で稼働します。素晴らしい。ここで、nodemon
を使用してこのプロジェクトを実行します。私はそれをインストールしました:
npm install -g nodemon
Gihubでは、README nodeと同じ方法で実行されます。ノードを開始する新しい方法はnpm start
not node
。だから私は試しました:
$ PORT=3000 nodemon ./app.js
13 May 23:41:16 - [nodemon] v1.0.18
13 May 23:41:16 - [nodemon] to restart at any time, enter `rs`
13 May 23:41:16 - [nodemon] watching: *.*
13 May 23:41:16 - [nodemon] starting `node ./app.js`
13 May 23:41:16 - [nodemon] clean exit - waiting for changes before restart
しかし、接続しようとすると、何もありません。私はそれを確認しました:
lsof -i TCP:3000
何も返しませんでした。通常(npm start
)戻ります:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 18746 user 10u IPv4 433546 0t0 TCP *:3000 (LISTEN)
誰でもここで間違っていることを伝えることができますか? nodemon
を使用して指定されたポートでアプリをリッスンさせるにはどうすればよいですか?
私のセットアップ:
npm -v
1.3.21
node -v
v0.10.24
nodemon -v
v1.0.18
express -V
4.2.0
in package.json
"scripts":{
// "start": "node ./bin/www"
"start": "nodemon ./bin/www"
}
次は同等になります。
$ npm start
$ nodemon ./bin/www
これも動作します:app.jsにこれを含めます(neolivz4everが言ったことと同じことをします)
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function() {
console.log('Express server listening on port ' + server.address().port);
});
あなたもnodemonのdefineを使用します:
$ nodemon --inspect ./bin/www 3000
Nodemon + express-generatorでポート番号を指定する方法を探している場合は、bin/wwwに移動して行を変更します
var port = normalizePort(process.env.PORT || '3000');
特定の番号に。例えば、
var port = normalizePort(process.env.PORT || '1234');