【问题标题】:How to compile ClojureScript inside Clojure如何在 Clojure 中编译 ClojureScript
【发布时间】:2012-07-09 18:51:25
【问题描述】:
我想在 Clojure 中编译 ClojureScript,但遇到了一些问题。我想做这样的事情:
(def x '(map (fn [n] (* n n n)) [1 2 3 4]))
(cljs->js x)
cljs->js 返回 JavaScript 代码。我猜Himera 做了类似的事情(首先从字符串中读取 ClojureScript),但我对 ClojureScript 的了解还不够,无法弄清楚。
有没有简单的解决办法?
【问题讨论】:
标签:
clojure
clojurescript
【解决方案1】:
您看过 Himera 代码吗? Here是UI发送的代码编译的地方,基本上是调用clojurescript项目中的cljs.compiler。请注意 Himera 可能比您要求的要复杂得多,可能您只需要让“编译”功能正常工作
【解决方案2】:
一旦你整理了 clojurescript 依赖项(这是它自己的问题),那么你可以调用 clojurescript emit 函数。这用于Clutch project(clojure+clojurescript 的 couchdb)。它基本上看起来像这样:
(js/emit (aget doc "_id") nil)