我如何从DefinitelyTyped中找到@types包的哪些版本与实际包的哪些版本一起工作? &g



我正在工作的应用程序有@types/react-router@types/react-router-dom来支持react-routerreact-router-domapi的类型。我现在正试图将路由器升级到6,我理解类型版本必须相应地更新。有没有一种方法可以找到@types/react-router@types/react-router-domreact-router的哪些版本一起工作?react-router-dom包吗?

也在苦苦寻找。在node_modules/@types/react-router/index.d.ts中有一个类似

的注释
// Type definitions for react-router 3.0

一般来说,你在DefinitelyTyped项目的文档中看到的是"DefinitelyTyped包的版本如何与相应库的版本相关联?"应该适用。类型声明文件的作者将(必须)在类型声明文件的最上面放一行,比如// Type definitions for Node.js <major version of the library that these types correspond to>.<major version of the library that these types correspond to>。例// Type definitions for Node.js 10.12。项目中的发布工具将自动为发布增加补丁号(类型包的补丁号与实际包的补丁号无关)。

所以你能做的就是在types包的类型声明文件中查找第一行。如果您不知道在哪里查找该文件,请查看包。json文件并查看"types"属性,该值将指向类型声明文件的路径(另请参见TypeScript文档中发布类型的内容)。

理想情况下,你想要做的是匹配主要和补丁号,我很确定你可以使用一个依赖版本约束,使用一个领先的~和匹配主要和次要版本号。

请注意,正如DefinitelyTyped项目文档中所述,有时类型包的次要版本可能落后于实际包,因为维护类型包的人通常与维护实际包的人是分开的。

最新更新