首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在角8项目中导入Mapbox绘图

如何在角8项目中导入Mapbox绘图
EN

Stack Overflow用户
提问于 2020-03-31 11:18:53
回答 2查看 1.8K关注 0票数 2

我正在和Webpack一起做一个8角的项目。我能够集成Mapbox ,但我不知道如何导入Mabox绘图。我有以下版本:

代码语言:javascript
复制
"@angular/core": "8.2.14",
"mapbox-gl": "^1.9.0",
"@types/mapbox-gl": "^1.8.2",
"@mapbox/mapbox-gl-draw": "^1.1.2",

我跟随Mapbox绘制文档,所以在我的角度服务中,我补充道:

代码语言:javascript
复制
import * as MapboxDraw from '@mapbox/mapbox-gl-draw';

所以我得到了一个错误:

TS7016:找不到模块“@mapbox/mapbox绘图”的声明文件。'/home/tommy/Work/engineering/effector/effector-gui/node_modules/@mapbox/mapbox-gl-draw/index.js‘隐式地具有“任意”类型。如果存在npm install @types/mapbox__mapbox-gl-draw,可以尝试使用它,或者添加一个新的声明(.d.ts)文件,其中包含“声明模块”@mapbox/mapbox draw‘;

这一建议之后,我尝试使用require而不是导入

代码语言:javascript
复制
const MapboxDraw = require('@mapbox/mapbox-gl-draw');

我有这样的经历:

3:20错误要求语句--不是导入语句@typescript的一部分--eslint/no-var--需要在./node_node/jsonlint-line/lib/jsonlint.js模块中找到错误:错误:无法解析'/home/user/proj/node_modules/jsonlint-lines/lib中的'fs‘。

因此,我尝试遵循,修改了我的,并通过npm "fs“安装了它。但是出现了一个错误:

没有找到这个依赖项:* fs在./node_node/jsonlint-line/lib/jsonlint.js中安装,您可以运行: npm安装-保存fs没有类型错误找到

因此,我决定回到第一个错误,我跟随。我修改了tsconfig.json文件,添加了以下值:

代码语言:javascript
复制
    "typeRoots": ["node_modules/@types","./types"],
...
  "exclude": ["node_modules","./types"]

在这三个文件夹中创建了index.d.ts文件/@mapbox/mapbox/具有以下内容

代码语言:javascript
复制
declare module '@mapbox/mapbox-gl-draw';

但我知道这个错误

未定义(未定义、未定义)中的错误: TS2688:无法找到“@mapbox”的类型定义文件。

现在我觉得离解决方案太近了,但我现在不知道如何进一步解决问题。

EN

回答 2

Stack Overflow用户

发布于 2020-03-31 12:30:48

我在type/@mapbox文件夹中创建了一个包含以下内容的附加index.d.ts文件:

代码语言:javascript
复制
declare module '@mapbox';

但这次我拿回了这个

代码语言:javascript
复制
ERROR  Failed to compile with 1 errors
This dependency was not found:
* fs in ./node_modules/jsonlint-lines/lib/jsonlint.js
To install it, you can run: npm install --save fs

在我的文件和文件中添加了与fs相关的行

代码语言:javascript
复制
module.exports = (options) => ({
    node: { fs: 'empty' },
    resolve: {

然后成功地编译了代码。

票数 0
EN

Stack Overflow用户

发布于 2020-05-23 18:21:15

我能够在我的指令中使用@ts-ignore

代码语言:javascript
复制
// @ts-ignore
import * as MapboxDraw from "@mapbox/mapbox-gl-draw";

在webpack的配置中,类似@tommynicoletti的回答:

代码语言:javascript
复制
module.exports = (options) => ({
    node: { fs: 'empty' },
    resolve: {
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60949343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档