gancio-upstream/server/index.js

54 lines
1.3 KiB
JavaScript
Raw Normal View History

2019-04-03 00:25:12 +02:00
const express = require('express')
const consola = require('consola')
2019-04-23 15:45:52 +02:00
const morgan = require('morgan')
2019-04-05 00:10:19 +02:00
const bodyParser = require('body-parser')
2019-04-26 23:14:43 +02:00
const cookieParser = require('cookie-parser')
const path = require('path')
2019-04-03 00:25:12 +02:00
const { Nuxt, Builder } = require('nuxt')
const app = express()
const cors = require('cors')
2019-05-30 12:12:51 +02:00
const notifier = require('./notifier')
2019-04-05 00:10:19 +02:00
const corsConfig = {
allowedHeaders: ['Authorization'],
exposeHeaders: ['Authorization']
}
2019-04-03 00:25:12 +02:00
2019-05-30 12:12:51 +02:00
2019-04-03 00:25:12 +02:00
// Import and Set Nuxt.js options
const config = require('../nuxt.config.js')
config.dev = !(process.env.NODE_ENV === 'production')
async function start() {
// Init Nuxt.js
const nuxt = new Nuxt(config)
const { host, port } = nuxt.options.server
// Build only in dev mode
if (config.dev) {
const builder = new Builder(nuxt)
await builder.build()
} else {
await nuxt.ready()
}
// Give nuxt middleware to express
2019-04-05 00:10:19 +02:00
app.use(cors(corsConfig))
2019-04-23 15:45:52 +02:00
app.use(morgan('dev'))
app.use('/media/', express.static(path.join(__dirname, '..', 'uploads')))
2019-04-26 23:14:43 +02:00
app.use(cookieParser())
2019-04-05 00:10:19 +02:00
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
2019-04-03 00:25:12 +02:00
app.use(nuxt.render)
// Listen the server
app.listen(port, host)
consola.ready({
message: `Server listening on http://${host}:${port}`,
badge: true
})
}
start()
2019-05-30 12:12:51 +02:00
notifier.startLoop(20)