我有一个使用ws的节点项目。 VSCode知道websocket事件和函数,但是如果我在原型中添加一些东西,那么它在建议中被识别但我不能跳到定义。它说: 没有找到'setDefaults'的定义 。有什么我需要在VScode中配置工作或我使用它错了吗?
易于复制的来源:
const WebSocket = require('ws');
WebSocket.prototype.setDefaults = function()
{
console.log("defaults")
}
ws = new WebSocket();
ws.setDefaults()
我也试过查找所有引用,但它没有找到方法的用法。
答案 0 :(得分:2)
您在动态属性
周围遇到this known limitation一种解决方法:使用jsdocs声明包含扩展方法的新类型:
const WebSocket = require('ws')
/**
* @typedef {{ setDefaults: () => void }} WebSocketExtensions
* @typedef {WebSocket & WebSocketExtensions} ExtendedWebsocket
*
* @type {ExtendedWebsocket}
*/
const ws = new WebSocket();
ws.setDefaults()