Угловой mapbox-gl-draw "MapboxDraw не является конструктором" - PullRequest
0 голосов
/ 03 октября 2019

Я использую mapbox-gl в приложении Angular 8 и пытаюсь добавить функцию mapbox-gl-draw. Я установил его через cpm (cpm i @mapbox/mapbox-gl-draw), добавил файл css и добавил две строки кода:

buildMap() {
  this.map = new mapboxgl.Map({
    container: 'map',
    style: this.style,
    zoom: 10,
    center: [this.lng, this.lat]
  });

  var draw = new MapboxDraw();
  this.map.addControl(draw);

}

В консоли выдается следующая ошибка:

ОШИБКА TypeError: _mapbox_mapbox_gl_draw_dist_mapbox_gl_draw__WEBPACK_IMPORTED_MODULE_3 __. MapboxDraw не является конструктором

(приложение продолжает функционировать.)

Единственное решение, которое я смог найти в Интернете, которое я смог найти, - это то, что я смог найти в режиме онлайн, который я смог найти, чтобы найти, которое я смог найти онлайн:

import { MapboxDraw } from '@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw';

до

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

Это потребовало переустановки map-gl-draw с помощью следующей команды на npm:

npm i map-gl-draw

При переустановке npm уведомил меня о том, что эта команда устарела и заменена командой, которую я использовал изначально:

cpm i @mapbox/mapbox-gl-draw

Установка завершена независимо и сейчасмое приложение больше не работает и выдает ошибку:

. / node_modules / jsonlint-lines / lib / jsonlint.js Модуль не найден: ошибка: не удается разрешить 'fs' в ...

Это прогресс? Есть вопросы и ответы по устранению этой ошибки «fs» в Angular, и я попробовал такие предложения, как введение собственного веб-пакета безуспешно. Я понимаю, что стандартный веб-пакет Angular не загружает фс. Однако тот факт, что я использовал неправильную установку cpm для перехода на этот этап, заставляет меня думать, что я на неправильном пути, независимо от того,

ОБНОВЛЕНИЕ Теперь он работает после того, как я представилпосле моего файла angular.json:

"browser": {
    "fs": false
}

Все это выглядит очень странно, хотя npm четко заявило, что я сейчас использую устаревшую версию.

...