You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React项目MapboxGL在Node.js生产环境失效,开发环境正常求助

问题:Mapbox地图本地正常,部署到远程服务器后无法显示

代码与配置

  • 项目index.js中的ReactMapGL组件代码片段:
<ReactMapGL
    ref={this.map}
    className={classes.root}
    {...viewport}
    width="100%"
    height="100%"
    scrollZoom={isExpanded ? true : false}
    touchAction={isExpanded ? 'pan' : 'pan-y'}
    mapStyle={this.getMapStyle(homicides)}
    interactiveLayerIds={["homicides"]}
    getCursor={this.getCursor}
    onClick={this.handleClick}
    mapboxApiAccessToken={process.env.REACT_APP_MAPBOX_API_ACCESS_TOKEN}
    onViewportChange={onViewportChange}
>
  • .env文件配置:
REACT_APP_MAPBOX_API_ACCESS_TOKEN=pk.my-big-long-mapbox-api-token

现象差异

  • 本地Arch Linux环境:执行npm start,访问http://localhost:3000/,地图正常显示。
  • 远程Arch Linux服务器:执行npm run build构建项目,通过serve -s build启动服务,访问http://my-server-ip-address:3000时地图无法显示,浏览器控制台报错:
Uncaught Error: An API access token is required to use Mapbox GL. See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes at e.RequestManager._makeAPIURL (mapbox.js:214:23) at e.RequestManager.normalizeSourceURL (mapbox.js:104:21) at R (load_tilejson.js:38:71) at Se.load (vector_tile_source.js:110:33) at Se.onAdd (vector_tile_source.js:146:14) at Jt.addSource (style.js:753:50) at Jt._load (style.js:311:18) at style.js:278:18

已尝试的无效操作

  • 执行npm update更新依赖
  • 将代码中的{process.env.REACT_APP_MAPBOX_API_ACCESS_TOKEN}替换为实际API令牌字符串,本地npm start正常,但远程部署后问题依旧
  • 尝试过StackOverflow上的相关解决方案,均未解决问题

补充排查信息

本地搭建nginx环境,部署build目录后访问http://localhost/my-project/build/,浏览器Network面板可看到Mapbox资源请求:
https://api.mapbox.com/v4/mapbox.mapbox-streets-v7.json?secure&access_token=MAPBOX_API_ACCESS_TOKEN
但远程服务器部署后,访问http://my-server-ip-address/my-project/build,仅能看到一个Mapbox相关请求:
https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.2.3/mapbox-gl-rtl-text.js,无法看到地图资源的请求。

内容的提问来源于stack exchange,提问作者Generic_User_ID

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 11:42:39