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