我目前正在尝试将环境TypeScript声明(.d.ts
)添加到一个用于非TS环境的普通JS库中。
这些声明通过特殊的/// <reference path="app.d.ts" />
指令导入。即使在不直接使用TypeScript的代码库中(由于大多数IDE中可用的LSP TypeScript集成),这也可以方便地实现代码完成。
我的JS库有一个名为Partial
的全局类的声明,但因为它与Partial
实用程序类型冲突,它导致错误,编辑器拒绝自动完成它。
为了清楚起见,下面是我的类环境声明的样子:
declare class Partial {
constructor(data?: { [key:string]: any })
}
每一个其他声明都像预期的那样工作--编辑器提供了自动完成和悬停文档。
我能找到的唯一解决方案是添加/// <reference no-default-lib="true"/>
,它可以工作,但这禁用了默认js类型(数组,字符串等)的代码完成。
是否有方法覆盖/禁用默认TS库中的具体类型以避免类型冲突?
1条答案
按热度按时间u3r8eeie1#
我从www.example.com中找到了一个变通方法https://github.com/microsoft/TypeScript/issues/27594#issuecomment-566836640。