导出类的节点模块上的模块扩充:如何添加实例属性?

时间:2019-02-05 13:34:43

标签: node.js typescript

更新我在Reddit上发现了完全相同的问题。不过,仍在寻找答案,因为在Reddit上,仅提出了node_modules/@types/ws/index.d.ts中的一个hack,出于明显的原因,我宁愿不提出。

我正在使用ws节点模块来创建套接字服务器。其typings具有以下结构:

declare class WebSocket extends events.EventEmitter {
    // ...
}

declare namespace WebSocket {
    // ...
}

export = WebSocket;

扩展类型以使我可以将实例属性id添加到WebSocket类的正确方法是什么?我在常规的typescript(.ts)文件中尝试了以下操作:

class WebSocketServerWithId extends WebSocket {
    id: number;
}

哪个返回[ts] Type 'typeof WebSocket' is not a constructor function type. [2507]。我还尝试过在this Stackoverflow question中使用该方法,结果出现相同的错误。我已经阅读了declaration merging上的文档,但仍然感到困惑。

任何人都知道如何将实例属性添加到在外部节点模块中定义和导出的类中吗? (以commonjs编写,旨在仅在节点中执行)。

0 个答案:

没有答案