server.js 883 B

12345678910111213141516171819202122232425262728293031
  1. const express = require('express')
  2. const C = require('./controllers')
  3. const config = require('../config')
  4. const path = require('path')
  5. const chalk = require('chalk')
  6. const asyncHandler = require('express-async-handler')
  7. const bodyParser = require('body-parser')
  8. const routes = require('./routes')
  9. const app = express()
  10. app.use(bodyParser.json())
  11. routes(app)
  12. app.use(express.static('./public'))
  13. app.all('/api/*', (req, res) => {
  14. res.send(404)
  15. })
  16. app.get('*', (req, res) => {
  17. res.sendFile(path.join(process.cwd(), 'public/index.html'));
  18. })
  19. app.start = () => new Promise((resolve, reject) => {
  20. try {
  21. const listener = app.listen(config.server.port, function() {
  22. app.address = listener.address()
  23. console.log(`Server running at ${chalk.underline(chalk.blue(`http://localhost:${app.address.port}`))}`)
  24. })
  25. } catch (e) {
  26. reject(e)
  27. }
  28. })
  29. module.exports = app