55

Express を使用して単純なノード プロジェクトを作成します。

npm install -g express-generator
express test
cd test/ && npm install
PORT=3000 npm start

これで、テスト アプリが起動し、ポート 3000 で実行されます。nodemon今、このプロジェクトを実行するために使用したいと思います。私はそれをインストールしました:

npm install -g nodemon

gihub README では、ノードと同じ方法で実行されます。npm startノードを開始する新しい方法は ではないため、これは少し混乱します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
4

5 に答える 5

101

package.json

  "scripts":{
    // "start": "node ./bin/www"
    "start": "nodemon ./bin/www"
   }

以下は同等になります。

$ npm start
$ nodemon ./bin/www
于 2014-05-14T08:20:13.390 に答える
13

これも機能します: これを app.js に含めます (nelivz4ever が言ったのと同じことを行います)

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);
});
于 2014-07-18T16:35:37.473 に答える