1.0.5 • Published 1 year ago

@wll8/express-ws v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

express-ws

Quickly implement websocket API in express.

There 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:

Features

  • Use directly from app.ws
  • http and ws of the same route can exist at the same time
  • Support dynamic routing
  • Support reading params, query parameters
  • Support Typescript

how to use

npm i @wll8/express-ws
const express = require(`express`)
const expressWs = require(`@wll8/express-ws`)
const {app, wsRoute} = expressWs(express())

app.ws(`/abc`, (ws, req) => {
  // const {params, query} = req
  ws.send(`abc`)
})
app.get(`/abc`, (req, res) => {
  res.json(`abc`)
})

app.listen(3040)
  • For more examples see the file: test.js
  • dependencies
    "path-to-regexp": "0.1.7",
    "ws": "7.5.5"

differences

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: No | | wsInstance.applyTo | --- | wll8: No | | --- | wsInstance.wsRoute[] | {route, wss, mid} |

Parse the request | HenningM | wll8 | Remark | | --- | --- | --- | | --- | req.params | Parameters in routes | | --- | req.query | query parameter |

License

MIT

Copyright (c) 2022-present, wll8

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago