2017-12-27 33 views
1

私たちはイオンアプリケーションを開発しています。私はサービス(.ts)を作成し、geo-json-pathfinderをインポートしました。このパスファインダーを初期化するには10〜20秒かかるので、それをWorker(.js)にアウトソースすることになっています。私worker.jsの上部にアングルワーカーのモジュールをインポートしますか?

import PathFinder from 'geojson-path-finder'; 

はエラーを返します:

SyntaxError: import declarations may only appear at top level of a module

私はそれに対処するにはどうすればよいですか?そして、私はこのパスファインダーを私のUiのスレッドに送ることができますか?

let pathfinder : Pathfinder = new Pathfinder(geojson); 
self.postMessage({obj: pathfinder}) 

答えて

1

2つの問題があります。

  1. ほとんどの場合、そのようなパスファインダを渡すことはできません。ドキュメントをもっと慎重に読んでください。グラフの前処理の結果だけを渡す必要があることがわかります。 Check the sourcecode of the project、あなたは彼らがどのように得られているか見ることができます。

    const preprocessedGraph = preprocess(graph, options); 
    

    あなたが必要とすることをするために、これをちょっと混乱させる必要があります。

    const myWorker = new Worker("worker.js", "module"); 
    
:二番目のパラメータを使用して、ウェブワーカーにES6モジュールをインポートするには

  • 関連する問題