nodemon + express, listen port =?
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
tivoni
Updated on May 19, 2020Comments
-
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
notnode
. 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 almost 10 yearsExcellent. This answer is exactly what I was looking for. Thanks!
-
Suhas over 8 yearsI 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 over 8 yearsThis one does not change the listening port, it only uses nodemon to start the project than pure nodejs