我们正在开发 ionic 应用程序。我创建了一个服务(.ts)并导入了一个 geo-json-pathfinder。初始化这个探路者需要 10-20 秒,所以我应该将它外包给 Worker(.js)。
import PathFinder from 'geojson-path-finder';
在我的 worker.js 顶部返回一个错误:
SyntaxError: import declarations may only appear at top level of a module
我该如何处理?我可以像这样将这个探路者发送到我的 ui 线程吗?
let pathfinder : Pathfinder = new Pathfinder(geojson);
self.postMessage({obj: pathfinder})
最佳答案
有两个问题。
很可能,您不能就这样通过路径查找器。更仔细地阅读文档。您会看到您应该只传递图形预处理的结果。 Check the sourcecode of the project ,您可以看到它们是如何获得的。
const preprocessedGraph = preprocess(graph, options);
您需要稍作改动才能使其执行您需要的操作。
要将 ES6 模块导入 web worker,请使用第二个参数:
const myWorker = new Worker("worker.js", "module");
关于javascript - 在 Angular Worker 中导入模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47996387/