Supervisor node .js “Program node app exited with code 0” error

前端 未结 3 1544
醉梦人生
醉梦人生 2020-12-29 13:59

When I install an express scaffold app

express

Then run the npm install

npm install

and then run supervis

相关标签:
3条回答
  • 2020-12-29 14:09

    Default way to run your app, when you use express-generator, is to paste

    DEBUG={appName}:* npm start

    {appName} - is probably your folder name (like for me), anyway, you can find it in your package.json -> "name";

    0 讨论(0)
  • 2020-12-29 14:20

    The app that the generator creates calls ./bin/www that includes app.js and then starts listening for traffic.

    app.js does not do this itself.

    I think this is important to understand.

    app.listen is not being called in app.js but is called in ./bin/www...and this is why you get the exit 0 result. When you call app.js and not ./bin/www it runs through the file but because is no command to listen for traffic, the program ends normally...i.e. without having done anything.

    That said, you have two options..

    Option 1

    If you have a ./bin/www file, you could run supervisor ./bin/www to get things started.

    Option 2

    If you don't have the ./bin/www file for whatever reason, you can edit your app file to look like this.

    In your app listing, replace

    module.exports = app;
    

    with this

    app.set('port', process.env.PORT || 3000);
    
    var server = app.listen(app.get('port'), function() {
      debug('Express server listening on port ' + server.address().port);
    });
    

    Important Note

    While that edit will start the app listening and you won't get an exit 0 any more, I cannot guarantee that the app won't crash with some other error if other files and directories are missing. For example, if the routes directory isn't present, then the declarations requiring routes/index and routes/users will fail and other bad things will happen.

    0 讨论(0)
  • 2020-12-29 14:33

    Thanks for the best answer, finally this works for me:

    "main": "./bin/www",
    "scripts": {
       "start": "node ./bin/www"
    }
    
    0 讨论(0)
提交回复
热议问题