我正在尝试为uuidv4模块提供TypeScript模块声明。它基本上导出一个不带参数的函数,并以字符串形式返回UUID。这很容易实现,就像这样:
declare module 'uuidv4' {
const uuidv4: () => string;
export default uuidv4;
}
现在,这变得有些棘手,因为在导出的函数上还有另一个函数,称为empty
。因此您可以像这样使用它:
import uuid from 'uuidv4';
console.log(uuid());
console.log(uuid.empty());
如何在模块声明中设置第二个?我尝试过这样:
declare module 'uuidv4' {
const uuidv4: () => string;
uuidv4.empty: () => string;
export default uuidv4;
}
但这不起作用,因为TypeScript抱怨
类型'()=>字符串'上不存在属性'空'。
我该如何解决?
答案 0 :(得分:2)
好的,我明白了。实际上,一旦您知道如何做,就很容易了:
declare module 'uuidv4' {
const uuidv4: {(): string; empty (): string};
export default uuidv4;
}
就这样?