최근에 다시 clojurescript 를 이용해서 작업할 일이 생겼습니다. javascript 는 편리하긴 하지만 구현하는데 재미가 없다는 심각한 결점이 있기 때문입니다. 게다가 최근 lein-figwheel 이라는 편리한 툴이 나와서 정말 편하게 작업을 할 수가 있습니다. 다만 lein figwheel 을 하면 불편하게도 console 에서 작업을 해야 하기 때문에 emacs 의 편리한 기능을 못써서 안타깝습니다. 따라서 nRepl 을 이용해서 편리하게 작업하는 방법을 소개시켜드릴까 합니다.
- CIDER 와 clojure-mode 를 설치해야 한다.
package-install 명령을 이용하면 쉽게 설치가 가능하다.
- leiningen plugins 를 설정해야 한다.
~.lein/profiles.clj
를 열어서 다음과 같이 추가해 준다. (2015. 12. 29 현재 0.10.0 버젼이 최신)
{:user {:plugins [[cider/cider-nrepl "0.10.0"]]}}
- 개별 project.clj 설정에
:figwheel {:nrepl-port 7002}
내용이 defproject 와 같은 레벨로 추가가 되어 있어야 한다.
- .emacs 파일에
(add-hook 'cider-connected-hook '(lambda () (cider-interactive-eval "(use 'figwheel-sidecar.repl-api)\n(cljs-repl)\n"))) (defun figwheel-connect () (interactive) (cider-connect "localhost" "7002"))
- figwheel-connect 명령을 실행
프로젝트 루트 디렉토리에서
lein figwheel
을 실행해서 띄우고 , M-x figwheel-connect 를 이용해서 접속한다.