我在TypeScript项目中使用了出色的react-mapbox-gl库。它是用TypeScript编写的,并在NPM with typings上发布。
不幸的是,有一个bug in the typings阻止它们在TypeScript 3.2或更高版本的项目中使用:
/node_modules/react-mapbox-gl/lib/map.d.ts
(82,13): Subsequent property declarations must have the same type.
Property 'transformRequest' must be of type 'TransformRequestFunction',
but here has type 'RequestTransformFunction'.
这是有问题的声明的样子:
declare global {
namespace mapboxgl {
interface MapboxOptions {
failIfMajorPerformanceCaveat?: boolean;
transformRequest?: RequestTransformFunction;
}
}
}
您可以使用模块扩充来修复不完整的类型声明,但是是否可以从我的项目代码中解决此类问题?禁用该模块的类型检查似乎也不是一种选择,因为(中断的)类型声明与实现捆绑在一起(而不是在@types
中)。