app.js 806 B

1234567891011121314151617181920212223242526
  1. const http = require('http')
  2. const express = require('express')
  3. const expressLogging = require('express-logging')
  4. const config = require('../config')
  5. const app = module.exports = express()
  6. app.use(expressLogging(console))
  7. app.use(express.static('dist'))
  8. app.listen = (port = config.port || (app.settings.env === 'production' ? 80 : 3000)) => new Promise((resolve, reject) => {
  9. app.server = http.createServer(app)
  10. app.server.once('error', (err) => {
  11. if (err.message.includes('EADDRINUSE') && app.settings.env === 'development' && port < 3999) {
  12. console.warn(err.message)
  13. resolve(app.listen(port + 1))
  14. } else {
  15. reject(err)
  16. }
  17. })
  18. app.server.listen(port, () => {
  19. console.log(`Listening on http://localhost:${app.server.address().port}`)
  20. })
  21. })
  22. module.exports = app