繁体   English   中英

Typescript Global.d.ts 模块定义为 function 附加到其他 function

[英]Typescript Global.d.ts module definition for function attached to other function

长话短说,我有一个 npm 模块,它导出一个 function 和其他 function74 附加到导出的 ZC1C4FAB50268E179A:

// @mycompany/module
...
const someTool = (options) => {
  // do some cool stuff
};

someTool.canUseFeature1 = () => {
  return canUseSomeFeature1();
};

module.exports = someTool;

在我的客户端应用程序中,我需要为导出的 function someTool和附加的 function someTool.canUseFeature1声明类型。

我在文件 Global.d.ts 中声明类型:

declare module '@mycompany/module' {
  export default function (options: any): any;
}

问题是,如何以类似的方式声明someTool.canUseFeature1 我找到的最接近的答案是here ,但我无法将其适应外部模块。

刚刚找到解决方案:

js 中的 Function 字面意思是 object,因此值得对对象使用类型声明 这种方法有效。

我的案例的最终解决方案:

declare module '@mycompany/module' {
  function someTool(options: any): any;
  namespace someTool {
    function canUseFeature1() : boolean;
  }
  export = someTool
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM