从第三方库导入 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');
.
虽然这是可能的,但绝非可取。
在我的代码中,我已经使用 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');
.
虽然这是可能的,但绝非可取。