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

TypeScript扩展npm包ws的WebSocket类型失败问题求助

解决TypeScript扩展ws包WebSocket类型的问题

核心修复方案

1. 调整类型声明文件写法

移除声明文件中的import "ws",直接扩展模块接口:

// globals.d.ts
declare module "ws" {
  interface WebSocket {
    isAlive?: boolean;
  }
}

2. 确保声明文件被TS识别

检查tsconfig.json的include配置,将globals.d.ts纳入扫描范围,确保路径正确:

{
  "compilerOptions": { /* 你的编译配置 */ },
  "include": [
    "src/**/*",
    "globals.d.ts"
  ]
}

3. 清理TS缓存并重启服务

TypeScript缓存可能导致类型不更新,执行以下操作:

  • 重启编辑器的TypeScript语言服务(比如VS Code中按Ctrl+Shift+P,选择TypeScript: Restart TS Server)
  • 或者手动清理缓存:npx tsc --clearCache

验证代码

修改后业务代码可正常访问自定义属性:

import WebSocket from "ws";

function heartbeat(ws: WebSocket) {
  console.log(ws.isAlive);
  ws.isAlive = true;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 23:15:35