www 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #!/usr/bin/env node
  2. /**
  3. * Module dependencies.
  4. */
  5. var app = require('../app');
  6. var debug = require('debug')('myself-project-nodejs:server');
  7. var http = require('http');
  8. require('dotenv').config();
  9. /**
  10. * Get port from environment and store in Express.
  11. */
  12. var port = normalizePort(process.env.PORT || '3000');
  13. app.set('port', port);
  14. /**
  15. * Create HTTP server.
  16. */
  17. var server = http.createServer(app);
  18. /**
  19. * Listen on provided port, on all network interfaces.
  20. */
  21. server.listen(port, () => {
  22. console.log("api server running at http://127.0.0.1:"+port)
  23. });
  24. server.on('error', onError);
  25. server.on('listening', onListening);
  26. /**
  27. * Normalize a port into a number, string, or false.
  28. */
  29. function normalizePort(val) {
  30. var port = parseInt(val, 10);
  31. if (isNaN(port)) {
  32. // named pipe
  33. return val;
  34. }
  35. if (port >= 0) {
  36. // port number
  37. return port;
  38. }
  39. return false;
  40. }
  41. /**
  42. * Event listener for HTTP server "error" event.
  43. */
  44. function onError(error) {
  45. if (error.syscall !== 'listen') {
  46. throw error;
  47. }
  48. var bind = typeof port === 'string'
  49. ? 'Pipe ' + port
  50. : 'Port ' + port;
  51. // handle specific listen errors with friendly messages
  52. switch (error.code) {
  53. case 'EACCES':
  54. console.error(bind + ' requires elevated privileges');
  55. process.exit(1);
  56. break;
  57. case 'EADDRINUSE':
  58. console.error(bind + ' is already in use');
  59. process.exit(1);
  60. break;
  61. default:
  62. throw error;
  63. }
  64. }
  65. /**
  66. * Event listener for HTTP server "listening" event.
  67. */
  68. function onListening() {
  69. var addr = server.address();
  70. var bind = typeof addr === 'string'
  71. ? 'pipe ' + addr
  72. : 'port ' + addr.port;
  73. debug('Listening on ' + bind);
  74. }