Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript mapbox gl js won';与browserify捆绑使用时无法渲染_Javascript_Cordova_Browserify_Mapbox Gl Js - Fatal编程技术网

Javascript mapbox gl js won';与browserify捆绑使用时无法渲染

Javascript mapbox gl js won';与browserify捆绑使用时无法渲染,javascript,cordova,browserify,mapbox-gl-js,Javascript,Cordova,Browserify,Mapbox Gl Js,我对mapbox gl js有一个奇怪的问题。当我将mapbox-gl.js文件作为CDN添加到html文档头时,贴图呈现良好。当我需要它并将其与browserify绑定(如文档所述)时,贴图不会呈现,我会得到如下绑定错误:错误:无法从“/home/../mbtst/node\u modules/mapbox gl/dist”找到模块“/feature” 这些文档描述了如何使用模块绑定器: . 在发布此问题时(由于此问题已更改): 我的地图是这样启动的: mapboxgl.accessToken

我对mapbox gl js有一个奇怪的问题。当我将mapbox-gl.js文件作为CDN添加到html文档头时,贴图呈现良好。当我需要它并将其与browserify绑定(如文档所述)时,贴图不会呈现,我会得到如下绑定错误:
错误:无法从“/home/../mbtst/node\u modules/mapbox gl/dist”找到模块“/feature”

这些文档描述了如何使用模块绑定器: . 在发布此问题时(由于此问题已更改):

我的地图是这样启动的:

mapboxgl.accessToken = 'pk.eyJ1IjoiZWxsdnRyemVnIiwiYSI6ImNpejl4M2M0NDAxbWoycXRlanZnc283dnYifQ.sPFCSTsdlCOp1hk6afDvJg';
this.map = new mapboxgl.Map({
    container: 'map-container', // container id
    style: 'mapbox://styles/mapbox/streets-v9', 
    center: [6.16342, 62.47126], // aalesund 
    zoom: 11
});
const mapboxgl = require('mapbox-gl/src/index.js');
如果我只需要模块本身
require('mapbox-gl')-相同的错误

我甚至试图从CDN源代码保存该文件,并需要该文件,这会导致多个依赖模块丢失

代码在本回购协议中:


PS:我需要将脚本捆绑起来,以便在Cordova应用程序中脱机使用,即使用cdn不是一个选项。

您提供的代码似乎基本正常。尝试使用
require
而不是
import

const mapboxgl = require('mapbox-gl/dist/mapbox-gl');
然后在终端中调用以下命令:

browserify your-main-js-file.js > bundle.js
这会将您的代码和所需的模块添加到创建的JavaScript文件
bundle.js
,因此即使您离线,所有内容都应该可用

然后通过脚本标记将输出包添加到HTML页面:

<script src="bundle.js"></script>


有关更多详细信息,请参阅,并检查browserify定制捆绑包所需的时间。

事实证明,这是一个bug,mapbox的人员正在努力修复它,请参阅此处的问题:

同时,我从mapbox gl版本“^0.33.1”升级到“^0.34.0”,现在它可以解决包含src而不是dist的问题,如下所示:

mapboxgl.accessToken = 'pk.eyJ1IjoiZWxsdnRyemVnIiwiYSI6ImNpejl4M2M0NDAxbWoycXRlanZnc283dnYifQ.sPFCSTsdlCOp1hk6afDvJg';
this.map = new mapboxgl.Map({
    container: 'map-container', // container id
    style: 'mapbox://styles/mapbox/streets-v9', 
    center: [6.16342, 62.47126], // aalesund 
    zoom: 11
});
const mapboxgl = require('mapbox-gl/src/index.js');

我在上一个版本中尝试过,但没有成功。

谢谢,我在使用browserify时没有任何困难,我已经在几个项目中使用过它;在该项目上持续约3周;它适用于传单和一系列其他依赖项。mapboxgl.Map被实例化并记录到浏览器控制台;然而,没有什么能让人满意。gitlab回购协议现已公开(暂时);您可以使用gulp.Hi克隆它并在浏览器中运行。感谢您在公共repo中提供您的代码。很遗憾,我无法生成分支“mapbox gl”。运行
gulp build:js
时出现错误:
错误:找不到模块'lodash.\u baseisequal'from'/my/path/mbglcrd/node\u modules/mapbox gl/dist
我稍后将在干净的环境中尝试。这可能是我所说的包含mapbox gl模块的错误吗?试着注释出模块要求,它应该可以工作。顺便说一句,我在repo中改进了一些东西。我创建了一个超级简单的测试repo,它突出了相同的问题:-即问题似乎是一般性的,而不仅仅是在我的应用程序中。现在作为bug报告给mapbox: