如何在TypeScript中将模块声明为具有自定义属性的函数?[重复]

dkqlctbz  于 2023-04-22  发布在  TypeScript
关注(0)|答案(1)|浏览(96)

此问题已在此处有答案

How can I declare the type for a function with properties in TypeScript?(1个答案)
Declaring a TypeScript function with properties(3个答案)
In TypeScript, how can I define/type a function with additional properties?(1个答案)
Build a function object with properties in TypeScript(9个回答)
上个月关门了。
我正在使用一个没有任何TypeScript声明的纯JavaScript库,所以我添加了这个(这不起作用):

declare module '@drumwork/tone' {
  declare let mod = function (str: string): string
  mod.list = (str: string) => Array<string>
  export default mod
}

我的函数的实现基本上是这样的:

function main(str) {
  // return some newly generated string
  return str + str
}

main.list = (str) => [...str]

export default main

考虑到实现是纯JavaScript的,并且有点类似,我如何在TypeScript中执行declare module
The documentation说要这样做,但它并没有完全做到我所描述的:

declare module '@drumwork/tone' {
  export default function (str: string): string
  export function list(str: string): Array<{ i: string; o: string }>
}
2izufjch

2izufjch1#

你可以试试这个例子。我用注解解释了。
然后你应该能够默认导出你的函数作为一个模块。

相关问题