nodemon + express, listen port =?

49,977

Solution 1

in package.json

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

the following would now be equivalent:

$ npm start
$ nodemon ./bin/www

Solution 2

This also works: Include this in your app.js (it does the same thing as the neolivz4ever said)

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);
});

Solution 3

you too use define your for nodemon:

$ nodemon --inspect ./bin/www 3000

Share:
49,977
tivoni
Author by

tivoni

Updated on May 19, 2020

Comments

  • tivoni
    tivoni almost 4 years

    I create a simple node project using express:

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

    So this gets the test app up and running on port 3000. Great. Now I'd like to use nodemon to run this project. I've installed it:

    npm install -g nodemon
    

    In the gihub README it is run the same way as node. This is a bit confusing, because the new way of starting node is npm start not node. So I tried:

    $ 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
    

    But when I try to connect, there's nothing there. I confirmed that with:

    lsof -i TCP:3000
    

    Which returned nothing. Normally (with npm start) it returns:

    COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    node    18746 user   10u  IPv4 433546      0t0  TCP *:3000 (LISTEN)
    

    Can anyone tell whats wrong here? How is it possible to get the app to listen on the specified port with nodemon?

    my setup:

    npm -v
    1.3.21
    node -v
    v0.10.24
    nodemon -v
    v1.0.18
    express -V
    4.2.0
    
  • tivoni
    tivoni almost 10 years
    Excellent. This answer is exactly what I was looking for. Thanks!
  • Suhas
    Suhas over 8 years
    I did not understand, how does this specify port for nodemon? I tried following this but I still face the same problem - nothing listening on port 3000
  • Neo
    Neo over 8 years
    This one does not change the listening port, it only uses nodemon to start the project than pure nodejs