如何在Clojurescript REPL中显示生成的JS?

时间:2014-01-09 09:46:39

标签: javascript emacs read-eval-print-loop clojurescript

this presentation on core.async上,Timothy Baldridge c onnects to a ClojureScript Browser REPL并将生成的JavaScript从Emacs发送到Web浏览器。

当我在这里处理Austin (Clojurescript REPL) steps时,我没有像我在视频中看到的那样生成JavaScript。我错过了什么?

我的问题是:如何在Clojurescript REPL中显示生成的JS?

1 个答案:

答案 0 :(得分:2)

如果您在emacs-ciderC-c C-e nrepl-eval-last-expression中使用BREPL评估clojure [script]代码,则会产生相同的效果。

此外,您可以为此https://github.com/halgari/clojure-conj-2013-core.async-examples

重复使用相同的代码

注意你必须首先加载这个指令

(require 'cljs.repl.browser)

(cemerick.piggieback/cljs-repl
  :repl-env (cljs.repl.browser/repl-env :port 9000))

然后重新加载浏览器并尝试此操作以确认您已连接

(js/alert "We're running ClojureScript")

您将在浏览器中收到提醒

以下是Timothy Baldridge会议的project.clj定义

(defproject clojure-conj-talk "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :plugins [[lein-cljsbuild "1.0.0-alpha2"]]
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [org.clojure/core.async "0.1.256.0-1bf8cf-alpha"]
                 [http-kit "2.1.10"]
                 [cheshire "5.2.0"]
                 [org.clojure/clojurescript "0.0-2014"]
                 [com.cemerick/austin "0.1.3"]]
  :profiles {:dev {:repl-options {:init-ns user}
                   :plugins [[com.cemerick/austin "0.1.0"]
                             [lein-cljsbuild "0.3.2"]]
                   :cljsbuild {:builds [{:source-paths ["src-cljs"]
                                         :compiler {:output-to "app.js"
                                                    :optimizations :simple
                                                    :pretty-print true}}]}}})