2

Webpack を使用して Angular 8 プロジェクトに取り組んでいます。Mapbox GL JSを統合できましたが、 Mabox GL Drawをインポートする方法がわかりません。私は次のバージョンを持っています:

"@angular/core": "8.2.14",
"mapbox-gl": "^1.9.0",
"@types/mapbox-gl": "^1.8.2",
"@mapbox/mapbox-gl-draw": "^1.1.2",

私はMapbox GL Draw docsに従っていたので、Angular Service に以下を追加しました:

import * as MapboxDraw from '@mapbox/mapbox-gl-draw';

だから私はこのエラーを持っています:

TS7016: モジュール '@mapbox/mapbox-gl-draw' の宣言ファイルが見つかりませんでした。「/home/tommy/Work/engineering/effector/effector-gui/node_modules/@mapbox/mapbox-gl-draw/index.js」には、暗黙的に「any」タイプがあります。存在するかどうか試すnpm install @types/mapbox__mapbox-gl-drawか、「declare module '@mapbox/mapbox-gl-draw';」を含む新しい宣言 (.d.ts) ファイルを追加します。

この提案に従って、 importの代わりにrequireを使用しようとしています:

const MapboxDraw = require('@mapbox/mapbox-gl-draw');

私はこれを持っていました:

3:20 エラー Require ステートメントはインポート ステートメントの一部ではありません'/home/user/proj/node_modules/jsonlint-lines/lib

だから私はこれに従おうとしました、私は自分のtsconfig.jsonを修正し、 npm "fs"経由でインストールしました。しかし、エラーが発生します:

この依存関係は見つかりませんでした: * ./node_modules/jsonlint-lines/lib/jsonlint.js の fs インストールするには、次のコマンドを実行します: npm install --save fs No type errors found

そこで、最初のエラーに戻ることにし、これに従いました。これらの値を追加してtsconfig.jsonファイルを変更しました。

    "typeRoots": ["node_modules/@types","./types"],
...
  "exclude": ["node_modules","./types"]

これらの 3 つのフォルダー types/@mapbox/mapbox-gl-draw/ 内にこのコンテンツでindex.d.tsファイルを作成したよりも

declare module '@mapbox/mapbox-gl-draw';

しかし、私はこのエラーが発生します

未定義のエラー (未定義、未定義): TS2688: '@mapbox' の型定義ファイルが見つかりません。

今、私は解決に非常に近いと感じていますが、さらに先に進む方法は今はありません.

4

2 に答える 2