我知道这是一个旧帖子..
据我了解,原因是mapbox(不是react-map-gl
)有一个错误,无法使用“npm build”正确转换。
幸运的是,正如我在此链接中了解到的那样,您不必弹出您的应用程序:https://github.com/mapbox/mapbox-gl-js/issues/10173#issuecomment-753662795
我不得不npm install worker-loader
然后添加以下行。
// had this.
import ReactMapGL, { FlyToInterpolator, NavigationControl } from 'react-map-gl'; import 'mapbox-gl/dist/mapbox-gl.css';
// added the following 6 lines.
import mapboxgl from 'mapbox-gl';
// The following is required to stop "npm build" from transpiling mapbox code.
// notice the exclamation point in the import.
// @ts-ignore
// eslint-disable-next-line import/no-webpack-loader-syntax, import/no-unresolved
mapboxgl.workerClass = require('worker-loader!mapbox-gl/dist/mapbox-gl-csp-worker').default;
由于我使用的是打字稿和 linting,我必须添加一些指令来忽略警告/错误,否则会阻止它编译。
请注意,我不必安装mapboxgl
since react-map-gl
使用它。
但是,我确实需要添加eslint-disable-next-line import/no-unresolved
and eslint-disable-next-line import/no-webpack-loader-syntax
合并在同一条线上。
我正在使用“react-map-gl”:“^6.1.17”。