从第三方库导入javascript模块

时间:2017-03-16 13:04:25

标签: javascript ecmascript-6 mapbox-gl-js

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

let mapboxgl = require('mapbox-gl/dist/mapbox-gl.js')

工作正常。

现在我想使用'创建'在其dom模块中的mapbox-gl.js中存在的函数:this one to be more precise.

我希望我可以简单地使用它:

mapboxgl.dom.create(arguments)

然后我收到错误消息:

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

我可以使用'创建功能'图书馆,若然,怎么样?

1 个答案:

答案 0 :(得分:1)

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

修改

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

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