Quickly implement websocket API in express
npm install @wll8/express-wsThere are some issues with HenningM/express-ws, the author has not been active for more than 1 year. So I created this project.
This repository is not intended to be a replacement, but to provide options to solve a problem, you can view the differences here.
It may provide a solution for the following problems:
- https://github.com/HenningM/express-ws/issues/157
- https://github.com/HenningM/express-ws/issues/126
- https://github.com/HenningM/express-ws/issues/52
`` sh`
npm i @wll8/express-ws
` jsexpress
const express = require()@wll8/express-ws
const expressWs = require()
const {app, wsRoute} = expressWs(express())
app.ws(/abc, (ws, req) => {abc
// const {params, query} = req
ws.send()/abc
})
app.get(, (req, res) => {abc
res.json()
})
app.listen(3040)
`
- For more examples see the file: test.js
- dependencies
```
"path-to-regexp": "0.1.7",
"ws": "7.5.5"
Initialization
| HenningM | wll8 | Remark |
| ------------------------------- | --------------------------------- | ----------------------------------------------- |
| expressWs(app) | expressWs(app) | express instance |
| expressWs(app, server) | expressWs({app, server}) | http.createServer(app) |
| expressWs(app, server, options) | expressWs({app, server, options}) | Other configuration |
| options.leaveRouterUntouched | --- | wll8: No |
| options.wsOptions | options.ws | wll8: initialization parameters for each ws api |
return value
| HenningM | wll8 | Remark |
| ------------------ | -------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| wsInstance.app | wsInstance.app | wll8: same as app |
| wsInstance.getWss | --- | wll8: Get from wsRoute |
| wsInstance.applyTo | --- | wll8: No |
| --- | wsInstance.wsRoute[] | {route, wss, mid}, For example wss.clients can get all connected clients |
Parse the request
| HenningM | wll8 | Remark |
| -------- | ---------- | -------------------- |
| --- | req.params | Parameters in routes |
| --- | req.query | query parameter |
Copyright (c) 2022-present, wll8