我正在使用一个jQuery插件,该插件没有打字稿定义文件,npm上也没有。
我已决定为此插件编写自己的定义(.d.ts
)。尽管有一个烦人的方面我想修复(如果可能的话),但我基本上可以正常工作。
为了将plugin方法添加到jquery接口,我在单独的.d.ts
文件中声明以下内容:
import {Options} from "foo";
declare global {
interface JQuery {
foo(options: Options): JQuery;
}
}
这将导致foo
方法以智能方式显示,即使我没有导入模块也是如此。理想情况下,我希望它仅在导入了“ foo”模块后才会显示。
我尝试了几种不同的方法,但是似乎都不起作用:
.d.ts
在同一文件中)declare global {
declare global {
块放置在foo的.d.ts
文件中,但放在declare module
语句之外。