2014-12-08 4 views
1

초보자 용입니다. Hello World - Clojurescript

나는 ClojureScript를 사용하여 웹에서 실행하기 위해 기존 Clojure의 스크립트를 컴파일 할 수 있습니까?

터미널에 Hello world을 인쇄하는 스크립트가 있는데이 텍스트를 브라우저에 인쇄하려고한다고 가정 해 보겠습니다. 전체 스크립트를 ClojureScript 구문으로 다시 작성해야합니까? 아니면 다른 컴파일러를 사용하여 컴파일해야합니까?

(ns clojure-hello-world.core 
    (:gen-class)) 

(defn -main [& args] 
    (println "Hello World")) 
+1

(짧은 대답) Clojure 만 사용하는 기능과 구문을 피하기 위해 게시 한 코드를 다시 작성해야합니다. –

답변

3

(긴 답 : P)

에도 Clojure의 및 ClojureScript주 기능의 좋은 금액 불구하고, 하나 또는 다른 특정 몇몇이있다. 예를 들어 JavaScript에는 실제 클래스가 없기 때문에 ns 형식의 :gen-class 사양은별로 의미가 없습니다.

한 가지 중요한 사실은 모두 Clojure의ClojureScript구문는 차이가 Clojure에서 자바 스크립트의 경우 (자바 VM을 실행하는 호스트 VM에 주로해야 할 정확히 같은 점이다 ClojureScript의 경우 VM).

두 Clojure 구현 간의 차이점 목록은 here입니다.

"Clojure/ClojureScript을 대상으로하는 휴대용 코드베이스 작성"도구 cljx도 있습니다. 최근에 이 Clojure Dev 그룹에 있으며 feature expressions을 마지막으로 구현했는데 한편으로는 cljx을 사용하지 않을 것이지만 다른 한편으로는 Clojure 소스 파일에서 정보를 추출하는 작업이 복잡해집니다.

+0

훌륭한 긴 답변을 보내 주셔서 감사합니다! – user3378649

3

시작하려면 시작하려면 lein-cljsbuild으로 시작하십시오. 이렇게하면 좋은 편집 평가판으로 이동하고 브라우저 루프를 볼 수 있습니다. ClojureScript 을 많이 배우기 때문에이 설정을 먼저 할 가치가 있습니다.이 더 재미 있습니다. 번거롭게 할만한 가치가 있다고 약속합니다. 대화식 지원이 더 필요하다면 #clojure의 사람들은 매우 친절하고 도움이됩니다.

1

기본적으로 브라우저는 JavaScript를 실행합니다. ClojureScript 코드를 JavaScript로 컴파일합니다. 브라우저는 HTML 페이지를 통해 JavaScript를로드합니다. 따라서 HTML 페이지를 생성하고 브라우저를 가리켜 야합니다.

내가 시작한 가장 간단한 방법은 빛나는 (http://www.luminusweb.net/docs/clojurescript.md)을 사용하는 것이 었습니다.

그러나 Chestnut (https://github.com/plexus/chestnut)은 유망 해 보입니다.

+0

답변 해 주셔서 감사합니다! – user3378649