Javascript 在创建react应用程序中使用react map gl时出错
使用超级简单的设置构建一个简单的应用程序来试用优步。以下是我的简化设置:Javascript 在创建react应用程序中使用react map gl时出错,javascript,reactjs,webpack,mapbox-gl-js,create-react-app,Javascript,Reactjs,Webpack,Mapbox Gl Js,Create React App,使用超级简单的设置构建一个简单的应用程序来试用优步。以下是我的简化设置: import React, { Component } from 'react' import MapGL from 'react-map-gl' class Home extends Component { render() { return ( <MapGL width={400} height={400} latitude={37.757
import React, { Component } from 'react'
import MapGL from 'react-map-gl'
class Home extends Component {
render() {
return (
<MapGL
width={400}
height={400}
latitude={37.7577}
longitude={-122.4376}
zoom={8}
mapStyle="mapbox://styles/mapbox/dark-v9"
/>
}
}
这将导致以下错误:
Uncaught TypeError: Cannot convert undefined or null to object
at Function.keys (<anonymous>)
at new module.exports (index.js:9)
at Object.<anonymous> (web_worker.js:5)
at __webpack_require__ (bootstrap e5da5fb…:555)
at fn (bootstrap e5da5fb…:86)
at Object.<anonymous> (worker_pool.js:4)
at __webpack_require__ (bootstrap e5da5fb…:555)
at fn (bootstrap e5da5fb…:86)
at Object.<anonymous> (global_worker_pool.js:2)
at __webpack_require__ (bootstrap e5da5fb…:555)
在查看Uber时,我注意到他们正在使用transform loader?brfs babel loader处理mapbox-gl.js文件
使用Create React App,您无法访问网页包配置,因为它包含在另一个包中,因此唯一的选项似乎是运行npm run eject,将依赖项和网页包配置拉入项目中
弹出是唯一的选择吗?还是我在标准的create react应用程序安装中错过了一种实现这一点的方法 对于开发,请添加mapboxApiAccessToken属性 如果您使用的是CRA,则在生产中的.env文件集REACT\u APP\u MAPBOX\u ACCESS\u TOKEN environmen是可变的。 mapboxApiAccessToken={'process.env.REACT\u APP\u MAPBOX\u ACCESS\u TOKEN'}/>
<MapGL
width={400}
height={400}
latitude={37.7577}
longitude={-122.4376}
zoom={8}
mapStyle="mapbox://styles/mapbox/dark-v9"
mapboxApiAccessToken={'your-access-toekn-goes-here'}/>
我想问题是,mapStyle,它需要一个style对象,然后传递一个字符串,像这样使用它:mapStyle={mapboxStyle},检查文档:我也是这么想的,但是Uber示例应用程序显示了一个正在使用的字符串-