選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

server.js 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. const express = require('express')
  2. const app = express()
  3. const path = require('path')
  4. const port = process.env.NODE_ENV === 'production' ? 80 : 3000
  5. require('./database/mongoose')
  6. const userRouter = require('./routes/user')
  7. const tokenRouter = require('./routes/token')
  8. const swaggerJsDoc = require("swagger-jsdoc")
  9. const swaggerUi = require("swagger-ui-express")
  10. const { errorLogger, errorResponder } = require('./middleware/errorHandling.js')
  11. const requestLogging = require('./middleware/requestLogging.js')
  12. const cors = require('cors') //Cross-origin resource sharing
  13. const helmet = require('helmet') //Basic protection against attacks like XSS
  14. const config = require('config') //Default configuration file
  15. const { json } = require('express')
  16. const swaggerOptions = {
  17. swaggerDefinition: {
  18. info: {
  19. title: 'Diligent node API',
  20. description: 'Diligent node API documentation'
  21. }
  22. },
  23. apis: ['./server.js', './routes/*.js']
  24. }
  25. const swaggerDocs = swaggerJsDoc(swaggerOptions)
  26. app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs))
  27. app.use(express.json())
  28. app.use(requestLogging)
  29. app.use(cors())
  30. app.use(helmet())
  31. app.use(userRouter)
  32. app.use(tokenRouter)
  33. app.get('/', (req, res) => {
  34. try {
  35. res.send('Wello Horld!')
  36. } catch (e) {
  37. res.status(500).send(e)
  38. }
  39. })
  40. app.use(errorLogger);
  41. app.use(errorResponder);
  42. app.listen(port, () => {
  43. console.log('Server is up on port ' + port)
  44. })