为 module.exports = 函数和一些接口创建 .d.ts

问题描述

我有一个与此类似的 javascript 代码

module.exports = function foo(language,platform,milliseconds) { 
   // some code
}

代码应放置在将通过 npm 导入的模块(“mymodule”)中。

我想创建相应的 .d.ts 文件

我有这样的事情:

declare module 'mymodule' {
     export type Language = 'it' | 'es' | 'de';
     export type Platform = 'linux' | 'winzoz';
     export function foo(language: Language,platform: Platform,milliseconds?: number): void;
}

但是当然没有用。我试过了:

  1. declare module 'mymodule' { export default function foo(myparams: Types): void; }
    

    但这不起作用,因为我使用的是 module.exports = function f() 而不是认导出

  2. declare module 'mymodule' { function foo(myparams: Types): void; export = foo; }
    

    但这不起作用,因为它说我应该使用 esModuleInterop 或使用丑陋的 import foo = require('mymodule')。它也不包括我想导出的接口。

我该如何解决这些问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)