有一个类型化模块 - 'markdown-it'
- 它定义了一个接口,描述了一个存在于另一个(未经过类型化的)模块 - 'markdown-it/lib/token'
中的类。
我想为后者定义类型,因此我创建了一个.d.ts
文件:
declare module 'markdown-it/lib/token' {
import * as MarkdownIt from 'markdown-it'
class Token implements MarkdownIt.Token {}
export = Token
}
不幸的是,TypeScript 抱怨 Token
没有实现 MarkdownIt.Token
。
理想情况下,我想告诉 TypeScript “这个类和接口是相同的”。但即使这不可能,我甚至不能复制定义,因为
类
Token
错误地实现了接口markdownit.Token
。
类型Token
没有提供与签名new (type: string, tag: string, nesting: number): Token
匹配的内容。
无论我做什么,都会出现上述错误提示。
class Token implements MarkdownIt.Token {
new (type: string, tag: string, nesting: number): Token
// or
new (type: string, tag: string, nesting: number): Token
// or
constructor(type: string, tag: string, nesting: number)
...
}
new
声明确实在原始代码中(没有构造函数)。谢谢,这个方法可行! - flying sheep