我们正在开发一种离子应用。我创建了一个服务(.ts)并导入了一个geo-json-pathfinder。初始化这个探路者需要10-20秒,所以我应该把它外包给一个工人(.js)。
import PathFinder from 'geojson-path-finder';
在我的worker.js顶部的返回错误:
SyntaxError:import声明只能出现在a的顶层 模块
我如何处理它?我能将这个探路者发送到我的ui线程吗?
let pathfinder : Pathfinder = new Pathfinder(geojson);
self.postMessage({obj: pathfinder})
答案 0 :(得分:1)
有两个问题。
最有可能的是,你不能像这样通过路径查找器。请仔细阅读文档。你会看到你应该只传递图形预处理的结果。 Check the sourcecode of the project,您可以看到他们是如何获得的。
const preprocessedGraph = preprocess(graph, options);
你需要稍微弄清楚这一点,以使它做你需要的。
要将ES6模块导入Web worker,请使用第二个参数:
const myWorker = new Worker("worker.js", "module");