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
相关产品推荐
相关产品推荐

