8.3.8 완성 서버(Completion server)
8.3.8 완성 서버(Completion server)
컴파일과 완성 모두에 최고 속도를 얻으려면 --wait 명령줄 매개변수로 Haxe 컴파일 서버를 시작할 수 있어요. 서버가 로그를 출력하게 하려면 -v를 사용할 수도 있습니다. 예:
haxe -v --wait 6000
그런 다음 Haxe 서버에 연결하고, 명령줄 매개변수 뒤에 0 바이트를 보내고, 응답(완성 결과 또는 오류)을 읽을 수 있어요.
--connect 명령줄 매개변수를 사용하면 Haxe가 직접 실행하는 대신 컴파일 명령을 서버로 보내게 합니다:
haxe --connect 6000 myproject.hxml
첫 번째 보낸 명령줄에 --cwd 매개변수를 사용해 Haxe 서버의 현재 작업 디렉터리를 변경할 수 있음을 주의하세요. 보통 클래스 경로와 다른 파일은 프로젝트에 상대적입니다.
어떻게 동작하는가(How it works)
컴파일 서버는 다음을 캐시합니다:
- 파싱된 파일 — 파일은 수정된 경우에만 다시 파싱됩니다.
- 유형 — 이미 타이핑된 모듈은 재사용됩니다.
마지막 단계(Final remarks)
--wait와 --connect만으로, IDE/편집기/플러그인은 Haxe 완성 서버의 전체 기능을 사용할 수 있습니다. 실제로 완성 서버를 사용하는 것의 주요 이점은 서버의 상태(캐시된 모듈)가 여러 요청 사이에 보존된다는 것입니다. 이는 각 완성 요청을 독립적으로 시작하는 것보다 상당히 빠릅니다.
본문
서버 시작과 연결
haxe -v --wait 6000으로 완성 서버를 시작하고, haxe --connect 6000 myproject.hxml로 연결해 컴파일 명령을 보냅니다. 명령줄 뒤 0 바이트를 보내고 응답을 읽습니다.
캐싱
서버는 파싱된 파일(수정된 경우만 재파싱)과 타이핑된 모듈을 캐시합니다.
장점
서버 상태(캐시)가 여러 요청 사이에 보존되어, 독립 요청보다 훨씬 빠릅니다.