从第三方库导入 javascript 个模块

importing javascript modules from a third party library

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

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

效果很好。

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

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

mapboxgl.dom.create(arguments)

但随后我收到错误消息:

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

我可以使用图书馆的 'create function' 吗?如果可以,如何使用?

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

编辑:

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

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