我正在尝试为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抱怨
类型'() =>
‘上不存在空属性'empty’。
我该如何解决这个问题?
发布于 2019-07-22 00:26:39
好的,我知道了。实际上,一旦你知道怎么做,它就很简单了:
declare module 'uuidv4' {
const uuidv4: {(): string; empty (): string};
export default uuidv4;
}
就是这样
https://stackoverflow.com/questions/57134852
复制相似问题