我正在用 TypeScript 构建一个站点,并获得了一个 JS 类来使用该钩子(Hook)连接到 JQuery(即您可以通过
$.scPlayer.functionName()
jquery.d.ts 中的核心 JQuery 定义当然不知道这一点,因此编译器会抛出错误(即使实际代码在浏览器中运行)。所以我试图将 JQueryStatic 接口(interface)与我创建的接口(interface)合并,即
interface JQueryStatic
{
scPlayer:any;
}
据我所知,TS 编译器应该认识到这两个接口(interface)是相同的并将它们合并,将我的属性添加到另一个接口(interface)。
现在,如果我将它包含在 JQuery 定义文件中,无论是在现有定义中(显然)还是作为一个新的、单独的 JQueryStatic 接口(interface),这都可以正常工作......但理想情况下我想避免更改它我健忘的 future self ,所以我试图在一个单独的定义文件中创建那个新界面。但这不起作用 - 似乎我的新界面只是覆盖了 JQuery 界面。
这可能吗?我做错了什么?
最佳答案
您的界面工作正常。我已将其添加到 Visual Studio 中名为 scplayer.d.ts
的文件中的 jquery.d.ts
旁边。
我从 nuget 中获取了 jQuery 类型定义。
interface JQueryStatic {
scPlayer: any;
}
这使接口(interface)与 jQuery 定义分离。
关于interface - TypeScript:跨文件合并接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24166330/