You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript如何扩展ws库WebSocket类原型方法并修复类型报错

解决方案
  • 首先确认你之前的扩展方案是完全可行的,模块扩展是TS官方提供的标准能力,完全支持对@types/ws提供的类型定义做增量更新,之前报错是因为扩展代码里存在拼写错误,WebbSocket多写了一个字母b,修正后配合正确的配置即可生效。
  • 修正后的完整扩展代码如下:
// WebSocketExtensions.ts
import WebSocket from "ws";

declare module "ws" {
  // 接口名必须和@types/ws导出的WebSocket完全一致,不要多写b
  export interface WebSocket {
    customFunction(): void;
  }
}

// 原型方法不要用箭头函数,避免this指向丢失无法访问实例属性
WebSocket.prototype.customFunction = function() {
  console.log('自定义方法执行', this.url);
};
  • 检查tsconfig.json配置,确保该扩展文件被TS识别:将扩展文件所在路径加入include数组,避免TS扫描时忽略该文件:
{
  "compilerOptions": {/* 原有配置保持不变 */},
  "include": ["src/**/*", "你的扩展文件存放路径/WebSocketExtensions.ts"]
}
  • 如果配置修正后依然提示类型错误,重启IDE的TS语言服务即可,VS Code可以按快捷键Ctrl+Shift+P,选择「TypeScript: Restart TS Server」触发重启。

内容的提问来源于stack exchange,提问作者justpen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 11:15:00