[英]Typescript imports of submodules not found errors for mapbox-sdk-js
使用@mapbox/mapbox-sdk
时,我在 typescript 导入中偶然发现了一个奇怪的行为。 我已经安装了@mapbox/mapbox-sdk
和@types/mapbox__mapbox-sdk
。 代码本身有效。 问题完全是打字。
首先我尝试了以下导入:
import { MapiRequest } from '@mapbox/mapbox-sdk/lib/classes/mapi-request';
import Geocoding from '@mapbox/mapbox-sdk/services/geocoding';
import Matrix from '@mapbox/mapbox-sdk/services/matrix';
当我这样做时,对于这 3 个导入,我得到 3 个类似的错误
Could not find a declaration file for module '@mapbox/mapbox-sdk/lib/classes/mapi-request'. '<path>/node_modules/@mapbox/mapbox-sdk/lib/classes/mapi-request.js' implicitly has an 'any' type.
Try `npm install @types/mapbox__mapbox-sdk` if it exists or add a new declaration (.d.ts) file containing `declare module '@mapbox/mapbox-sdk/lib/classes/mapi-request';`ts(7016)
接下来我尝试只导入基础 mapbox 库。
import * as _ from '@mapbox/mapbox-sdk';
import { MapiRequest } from '@mapbox/mapbox-sdk/lib/classes/mapi-request';
import Geocoding from '@mapbox/mapbox-sdk/services/geocoding';
import Matrix from '@mapbox/mapbox-sdk/services/matrix';
显然这不起作用( @mapbox/mapbox-sdk
包中没有顶级模块)但奇迹般地 Typescript 突然能够找到MapiRequest
、 Geocoding
和Matrix
的类型,并且错误出现在第一行
File '<path>/node_modules/@types/mapbox__mapbox-sdk/index.d.ts' is not a module.ts(2306)
1-这里发生了什么? 2-我该如何解决?
您需要为类型安装@types/mapbox__mapbox-sdk
并在tsconfig.json
中添加类型:
{
"compilerOptions": {
...
"types": ["@types/mapbox__mapbox-sdk"],
...
}
}
检查这个:
@mapbox/mapbox-sdk
版本等于@types/mapbox__mapbox-sdk
版本import mbxClient from '@mapbox/mapbox-sdk/lib/classes/mapi-client'
的 api 导入
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.