javascript - 在 Angular Worker 中导入模块?

标签 javascript angular ionic-framework ionic3 web-worker

我们正在开发 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})

最佳答案

有两个问题。

  1. 很可能,您不能就这样通过路径查找器。更仔细地阅读文档。您会看到您应该只传递图形预处理的结果。 Check the sourcecode of the project ,您可以看到它们是如何获得的。

    const preprocessedGraph = preprocess(graph, options);
    

    您需要稍作改动才能使其执行您需要的操作。

  2. 要将 ES6 模块导入 web worker,请使用第二个参数:

    const myWorker = new Worker("worker.js", "module");
    

关于javascript - 在 Angular Worker 中导入模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47996387/

相关文章:

javascript - 如何创建可以从 React js 中的状态更改的动态表单?

javascript - 如何使用 introjs 突出显示多个元素?

angular - 在 systemjs 中捆绑是否有意义

Angular 过滤器在多个数组中查找字符串

javascript - 在 Ionic 中从 Firebase 获取列表期间 $ionicLoading 未显示

javascript - 关闭多级 jquery 下拉菜单

javascript - 返回一个空的 Observable

angular - 使用 primeNG turbo 表进行两级行扩展

ios - 在 IOS 上调试 Ionic 应用程序?

google-maps - 类型 'Promise<void>' 不可分配给类型 'Marker' 。属性 '_objectInstance' 在类型 'Promise<void>' 中缺失。 ionic 2