代码之家  ›  专栏  ›  技术社区  ›  axm__

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

  •  0
  • axm__  · 技术社区  · 7 年前

    使现代化 : 我在网上发现了完全相同的问题 Reddit .但仍在寻找答案,因为在Reddit上,只有黑客入侵 node_modules/@types/ws/index.d.ts 是被提议的,出于明显的原因,我宁愿不去碰它。

    我用的是 ws 创建套接字服务器的节点模块。它的 typings 结构如下:

    declare class WebSocket extends events.EventEmitter {
        // ...
    }
    
    declare namespace WebSocket {
        // ...
    }
    
    export = WebSocket;
    

    扩展类型以便添加实例属性的正确方法是什么 id WebSocket 班我试着用常规字体写了以下内容( .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 回复  |  直到 7 年前
    推荐文章