NodeJS使用rsocket-js运行TCP客户端报RSocketTcpClient不是构造函数问题
问题排查结果
- 依赖缺失:你当前
package.json的依赖列表里只安装了rsocket-tcp-server,没有安装TCP客户端对应的依赖包rsocket-tcp-client,所以导入RSocketTcpClient的时候会返回undefined,调用new的时候自然会抛出不是构造函数的错误。 - 类名大小写不匹配:你代码里写的类名是
RSocketTCPClient(TCP三个字母全大写),但包实际导出的类名是RSocketTcpClient(只有T和p大写),拼写不一致也会导致拿到的是undefined。
修复步骤
- 安装缺失的客户端依赖,注意版本要和现有rsocket相关包保持一致,避免兼容问题:
npm install rsocket-tcp-client@0.0.27
- 修正代码头部的导入语句,因为你项目配置了
"type": "module",使用ESM导入规范:
import { RSocketClient } from 'rsocket-core'; import { RSocketTcpClient } from 'rsocket-tcp-client';
- 修改代码中实例化传输层的类名,和导入的类名保持一致:
把原来的new RSocketTCPClient({修改为new RSocketTcpClient({
修复完成后重新执行node app.js即可正常初始化客户端。
内容的提问来源于stack exchange,提问作者MMC
相关产品推荐
相关产品推荐

