静态资源
参考: Serving static files in Express
import express from "express"
const app = express()
app.use(express.static('public'))
websocket
采用 ws 库
npm install --save ws
若是想让 express 与 websocket 共用一个端口
可以看下面这个例子:
import express from 'express'
import { WebSocketServer } from 'ws';
import { createServer } from 'http'
// import expressWs from 'express-ws' // 这个库很就没有维护了, 不建议使用
const PORT = 3000
const server = createServer()
const app = express()
// websocket
const wsServer = new WebSocketServer({ server });
wsServer.on('connection', socket => {
console.log('ws: Get an connection');
socket.on('message', message => console.log(message.toString()));
setInterval(() => {
socket.send("I'm server, send you message for every 3 seconds.")
}, 3000)
});
// 让 websocket 与 http 服务器端口一致
server.on('request', app)
server.listen(PORT, () => {
console.log(`listen: ${PORT}\nlink: http://127.0.0.1:${PORT}`);
})
该部分仅登录用户可见