-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
48 lines (39 loc) · 1.17 KB
/
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
38
39
40
41
42
43
44
45
46
47
48
const Express = require("express")
const path = require("path")
class Server {
constructor(_port) {
this.port = _port
this.app = new Express()
this.sockets = []
this.expressWS = require("express-ws")(this.app);
const appOptions = {
root: path.join(__dirname)
}
this.app.get("/",(req,res) => {
res.sendFile("src/index.html",appOptions)
})
this.app.get("/bundle", (req,res) => {
res.sendFile("./target/bundle.js",appOptions)
})
this.app.get("/shaders" , (req,res ) => {
res.sendFile("./src/shaders.shader",appOptions)
})
this.app.get("/objects",(req,res) => {
res.sendFile("./src/objects.json",appOptions)
})
this.app.ws("/", (ws,req) => {
})
}
start() {
this.app.listen(this.port,() => {
console.log(`Listening at port ${this.port}`)
})
this
}
sendMessageToWS(msg) {
this.expressWS.getWss().clients.forEach((socket)=>{
socket.send("refresh")
})
}
}
exports.default = (port) => new Server(port)