-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
37 lines (27 loc) · 937 Bytes
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
require('dotenv').config();
const express = require('express');
const next = require('next');
const http = require('http');
const socketIo = require('socket.io');
const rootControllers = require('./controllers/root');
const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const nextHandler = app.getRequestHandler();
const sockets = require('./sockets');
const pages = require('./controllers/pages');
app.prepare().then(() => {
const server = express();
const httpServer = http.createServer(server);
const io = socketIo(httpServer, {
cors: {
origin: 'http://localhost:3000',
methods: ['GET', 'POST'],
},
});
sockets.chat(io);
server.get('/', pages.chat(nextHandler));
server.use(rootControllers);
server.all('*', (req, res) => nextHandler(req, res));
const PORT = process.env.PORT || 3000;
httpServer.listen(PORT, () => console.log(`listen on port ${PORT}`));
});