打字稿 jQuery 定义
Typescript jQuery definition
jQuery Typescript definition 的当前版本指定它包含
Type definitions for jQuery 1.10.x / 2.0.x
这是否意味着它包含一个统一的单一版本,涵盖 1.10.x / 2.0.x 之间的所有版本?
如果是,如何处理已弃用的方法和对方法签名的更改?
此外,如果您的目标 jQuery 版本低于 2,如何安全地使用这些定义。0.x
例如,可能在 2.0.3 中引入了一种新方法,但我们的代码目前针对版本 1.x.x。
Typescript 将允许我调用该新方法(因为它在 jquery.t.ds 中),但调用将在运行时失败,因为它不存在于实际 jQuery 库的版本中使用.
我觉得我在这里缺少一些基本的东西。
它包含两个版本的定义。这是可能的,因为在 1.9+ 和 2.0 之间没有弃用。区别只是浏览器兼容性(2.0 放弃了对 IE7 和 IE8 的支持,因此是主要版本)。
我相信您对合并版的看法是正确的。看看一些定义:
/**
* A selector representing selector passed to jQuery(), if any, when creating the original set.
* version deprecated: 1.7, removed: 1.9
*/
selector: string;
[index: string]: any;
[index: number]: HTMLElement;
如果不看评论,以后的版本好像会坏掉
如果你想 "break" 你的编译,我相信你应该编辑这个定义文件(不是我构建项目的方式的一个选项)并删除 deprecated/removed 版本。
jQuery Typescript definition 的当前版本指定它包含
Type definitions for jQuery 1.10.x / 2.0.x
这是否意味着它包含一个统一的单一版本,涵盖 1.10.x / 2.0.x 之间的所有版本?
如果是,如何处理已弃用的方法和对方法签名的更改?
此外,如果您的目标 jQuery 版本低于 2,如何安全地使用这些定义。0.x
例如,可能在 2.0.3 中引入了一种新方法,但我们的代码目前针对版本 1.x.x。
Typescript 将允许我调用该新方法(因为它在 jquery.t.ds 中),但调用将在运行时失败,因为它不存在于实际 jQuery 库的版本中使用.
我觉得我在这里缺少一些基本的东西。
它包含两个版本的定义。这是可能的,因为在 1.9+ 和 2.0 之间没有弃用。区别只是浏览器兼容性(2.0 放弃了对 IE7 和 IE8 的支持,因此是主要版本)。
我相信您对合并版的看法是正确的。看看一些定义:
/**
* A selector representing selector passed to jQuery(), if any, when creating the original set.
* version deprecated: 1.7, removed: 1.9
*/
selector: string;
[index: string]: any;
[index: number]: HTMLElement;
如果不看评论,以后的版本好像会坏掉
如果你想 "break" 你的编译,我相信你应该编辑这个定义文件(不是我构建项目的方式的一个选项)并删除 deprecated/removed 版本。