개발 서버와 연속 컴파일

개발 서버와 연속 컴파일 (Development server and continuous compilation)

변경 사항을 확인할 때마다 Kotlin/JS 프로젝트를 수동으로 컴파일하고 실행하는 대신, 연속 컴파일(continuous compilation) 모드를 사용할 수 있어요. 일반적인 jsBrowserDevelopmentRun(browser용)과 jsNodeDevelopmentRun(nodejs용) 명령 대신 Gradle 래퍼를 연속 모드로 호출하면 돼요.

 # For `browser` project
./gradlew jsBrowserDevelopmentRun --continuous

 # For `nodejs` project
./gradlew jsNodeDevelopmentRun --continuous

출처: Development server and continuous compilation

본문

IntelliJ IDEA에서 작업하고 있다면 같은 플래그를 실행 구성 목록에서도 넘길 수 있어요. IDE에서 jsBrowserDevelopmentRun Gradle 태스크를 처음 실행하면 IntelliJ IDEA가 자동으로 실행 구성을 만들어 주는데, 이 구성을 위쪽 툴바에서 수정할 수 있어요.

실행 구성의 인자(뒤 arguments)에 --continuous 플래그를 추가해서 Run/Debug Configurations 대화상자에서 연속 모드를 켜면 돼요.

이 실행 구성을 실행하면 Gradle 프로세스가 계속해서 프로그램의 변경 사항을 지켜보는 것을 확인할 수 있어요.

변경이 감지되면 프로그램이 자동으로 다시 컴파일돼요. 브라우저에 웹 페이지를 아직 열어 두고 있다면, 개발 서버가 페이지의 자동 새로고침을 촉발해서 변경 사항이 바로 보여요. 이는 Kotlin Multiplatform Gradle 플러그인이 관리하는 내장 webpack-dev-server 덕분이에요.