2017-12-27 34 views
1

우리는 이온 성 응용 프로그램을 개발 중입니다. 나는 서비스 (.ts)를 만들고 geo-json-pathfinder를 수입했다. 이 패스 파인더를 초기화하는 데 10-20 초가 걸리므로 작업자 (.js)로 아웃소싱해야합니다.모서리 작업자로 모듈 가져 오기?

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

내가 그것을 해결할 수있는 방법 : 내 worker.js의 상단에

import PathFinder from 'geojson-path-finder'; 

는 오류를 반환? 그리고이 패스 파인더를 내 UI 스레드에 보낼 수 있습니까?

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

답변

1

두 가지 문제가 있습니다.

  1. 대부분의 경우 해당 경로 찾기를 통과 할 수 없습니다. 설명서를 더 자세히 읽으십시오. 그래프 전처리 결과 만 전달해야 함을 알 수 있습니다. Check the sourcecode of the project, 어떻게 얻을 수 있는지 확인할 수 있습니다.

    const preprocessedGraph = preprocess(graph, options); 
    

    당신이 필요로하는 것을 만들기 위해 조금 뒤죽박죽을해야합니다.

    const myWorker = new Worker("worker.js", "module"); 
    
:
  • 사용, 웹 노동자에 두 번째 매개 변수를 ES6 모듈을 가져 오려면