从第三方库导入javascript模块

从第三方库导入javascript模块,javascript,ecmascript-6,mapbox-gl-js,Javascript,Ecmascript 6,Mapbox Gl Js,在我的代码中,我已经使用mapbox gl js库通过以下导入创建了地图: let mapboxgl = require('mapbox-gl/dist/mapbox-gl.js') 这很好用 现在,我想在其dom模块中使用mapbox-gl.js中的“创建”函数: 我希望我可以简单地使用这个: mapboxgl.dom.create(arguments) 但随后我收到了一条信息: Uncaught (in promise) TypeError: Cannot read property '

在我的代码中,我已经使用mapbox gl js库通过以下导入创建了地图:

let mapboxgl = require('mapbox-gl/dist/mapbox-gl.js')
这很好用

现在,我想在其dom模块中使用mapbox-gl.js中的“创建”函数:

我希望我可以简单地使用这个:

mapboxgl.dom.create(arguments)
但随后我收到了一条信息:

Uncaught (in promise) TypeError: Cannot read property 'create' of undefined

我可以使用库的“创建函数”吗?如果可以,如何使用?

您实际需要的文件是,它不会导出
dom
符号,因为这是mapbox的内部实用程序。您始终可以复制文件
dom.js
,并在需要时使用它,但mapbox不会公开此文件供您使用

编辑:

如果您决定使用该文件,您可以直接要求它,尽管这是不可取的,因为mapbox可以决定在任何版本升级时更改或删除该功能。在我的例子中,我通过npm安装了这个包,所以我需要它,就像so
let mbDom=require('mapbox-gl/src/util/dom')


虽然这是可能的,但远远不可取。

太好了,谢谢。你能解释一下为什么在这把小提琴中,
mapboxgl.util.extend(defaultgeoppositionoptions,this.options&&this.options.positionOptions | |{})
?fiddle使用库的“html导入”,但我仍然不希望它工作,或者与上面的不同之处是什么?
util
被导出,
dom
不被导出
mapboxgl.util
util/util.js
文件中提取,该文件不公开
dom
模块您是正确的。注意,
util
在最近的版本中不再导出。