A collection of games I worked on in high school.
at main 986 B view raw
1"use strict"; 2 3const path = require("path"); 4const cluster = require("cluster"); 5const bodyParser = require("body-parser"); 6const cors = require("cors"); 7const compression = require("compression"); 8const express = require("express"); 9const morgan = require("morgan"); 10 11const app = express(); 12const port = 3030; 13 14// Serve static files 15app.use(express.static(path.join(__dirname, "public"))); 16 17// Enable middleware 18app.use(bodyParser.json()); 19app.use(bodyParser.urlencoded({extended: true})); 20app.use(cors()); 21app.use(morgan("dev")); 22app.use(compression()); 23 24// Configure routes 25 26if (cluster.isMaster) { 27 // Fork processes 28 const cpuNum = require("os").cpus().length; 29 for (let i = 0; i < cpuNum; i++) cluster.fork(); 30} else { 31 // Launch the server on a worker instance 32 app.listen(port, () => { 33 console.log(`Cluster worker ${cluster.worker.id} listening on port ${port}`); 34 }); 35} 36 37cluster.on("exit", worker => { 38 console.log(`Game over, ${worker.id}. Continue?`); 39 cluster.fork(); 40});