网络工作者中的 h3-js:文档未定义

h3-js in a web worker: document is not defined

我正在尝试在 Web Worker 中使用 h3-js。我得到的错误是:

Uncaught ReferenceError: document is not defined
    at libh3-browser.js:6
    at Module../node_modules/h3-js/dist/browser/h3-js.es.js (libh3-browser.js:2)
    at __webpack_require__ (bootstrap:19)
    at Module../src/utils/worker/methods/clusterPins.ts (clusterPins.ts:1)
    at __webpack_require__ (bootstrap:19)
    at Module../src/utils/worker/methods/aggregateAndClusterPins.ts (aggregateAndClusterPins.ts:1)
    at __webpack_require__ (bootstrap:19)
    at Module../src/utils/worker/methods/index.ts (index.ts:1)
    at __webpack_require__ (bootstrap:19)
    at Module../node_modules/babel-loader/lib/index.js?!./node_modules/eslint-loader/dist/cjs.js?!./src/utils/worker/index.ts (index.ts:1)

我能找到的唯一问题是 h3-js github 与 React-native 问题相关,这与我的无关。

代码如下所示:

import h3 from 'h3-js';
const h3Index = h3.geoToH3(37.3615593, -122.0553238, 7);

有趣的是,我能够 运行 它在一个节点实例中有任何问题,这让我不确定我是否遗漏了什么。

这是当前 Emscripten 构建的限制 - 我们实际上不需要 document,但在 Emscripten 运行时代码中有对它的引用。希望我们将来能够删除它。同时,将 document = {} 填充到 globalthis 应该提供一个解决方法。