我想减少mapbox依赖项的数量。在一个大量使用Mapbox的React webapp中,我目前在我的javascript文件中像这样导入mapbox:
import mapboxgl from 'mapbox-gl';
import 'mapbox-gl/dist/mapbox-gl.css'
通过这个mapboxgl导入,我实例化了一个地图、一个弹出窗口、一个GeolocateControl和一个NavigationControl。这一切都运行得很好。
我还需要正向和反向地理编码,我使用这些导入来实现:
import Geocoder from '@mapbox/mapbox-gl-geocoder';
import '@mapbox/mapbox-gl-geocoder/dist/mapbox-gl-geocoder.css';
const mbxGeocoding = require('@mapbox/mapbox-sdk/services/geocoding');
const geocodingClient = mbxGeocoding({ accessToken: mapboxgl.accessToken });
这些也可以很好地工作。是否可以将import mapboxgl from 'mapbox-gl'
及其.css导入替换为类似于我用于地理编码器的特定导入?类似于:
import Map from '@mapbox/mapbox-gl-map';
弹出窗口、地理位置控制和导航控制也是如此吗?理想情况下,我希望能够删除'mapbox-gl‘依赖项,只有@mapbox依赖项。这些是我当前在package.json文件中的mapbox依赖项。
"dependencies": {
"@mapbox/mapbox-gl-geocoder": "^4.7.0",
"@mapbox/mapbox-sdk": "^0.11.0",
"mapbox-gl": "^1.12.0"
}
我正在寻找的东西似乎在这里被描述为:https://github.com/mapbox/mapbox-sdk-js/tree/master,但我还不能从那里显示的任何导入实例化一个地图。我还尝试在codepen上查看mapbox项目,但由于codepen会使导入过程变得有点模糊,所以也没有任何帮助。
发布于 2020-12-22 09:14:12
看起来Mapbox-SDK已经被特别设计为允许单独使用服务,而不需要导入整个库。这是有道理的--例如,反向地理编码和路由之间没有明显的依赖关系。
(如果我理解正确的话,将所有这些东西作为单独的依赖项导入会增加,而不是减少依赖项的数量,这与您的目标相反?)
https://stackoverflow.com/questions/65400786
复制相似问题