@wll8/express-ws
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

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

  • [x] Use directly from app.ws
  • [x] http and ws of the same route can exist at the same time
  • [x] Support dynamic routing
  • [x] Support reading params, query parameters
  • [x] 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

Readme

Keywords

Package Sidebar

Install

npm i @wll8/express-ws

Weekly Downloads

665

Version

1.0.5

License

MIT

Unpacked Size

8.38 kB

Total Files

8

Last publish

Collaborators

  • wll8