ClojureScript无需Java

16

是否可以不使用 Java 编译 ClojureScript ?

我阅读了 ClojureScript 的 nodejs 快速入门,但我看到他们仍然使用 Java 进行编译。

我查看了 cljs-bootstrap 但它们也依赖于 Java。

是否有办法只使用 npm install 并开始使用 ClojureScript?

3个回答

8
现在有Lumo: https://www.npmjs.com/package/lumo-cljs Lumo 是一个独立的 ClojureScript 环境,运行在 Node.js 和 V8 JavaScript 引擎上。它启动非常快,并且可以直接访问整个 Node.js 生态系统。
Lumo 还提供了 ClojureScript 的构建 API,通过 Google Closure 编译器的实验性 JavaScript 版本,使得可以完全不需要 JVM 编译 ClojureScript 项目。
干杯!

7

在ClojureScript自托管之前(使用ClojureScript而不是Clojure实现),需要Java以及Node/NPM。然而,David Nolen在2015年4月20日Clojure West的演讲中表示,在编译器可以在自身中引导之前,还有相对较少的工作要完成。[观看这个演讲也可能因其他原因而有趣。] 因此,这可能在不久的将来发生变化。


3
自ClojureScript 1.7版本开始支持自我编译,请参阅这篇文章。为了设置,请遵循以下步骤。
(ns self-compile.core
  (:require cljs.js))

(set! cljs.js/*eval-fn* cljs.js/js-eval)
(def state (cljs.js/empty-state))

(defn my-compiler [str-to-compile]
  (cljs.js/eval-str state str-to-compile
                  (fn [response]
                    ;evaluated code here
                  ))

初始编译必须在JVM上完成,但一旦完成,上面的my-compiler函数将会编译字符串。要创建一个具有最新配置的示例项目,请使用lein mies模板。

lein new mies my-project

我不确定如何开始,您能再解释一下吗?在我看来,它们仍然依赖于依赖于Java的Lein...假设我没有安装Java,我能否只使用Node.js运行ClojureScript? - Orlando William
我相信你需要至少调用一次JVM才能开始,之后你只需要使用node.js就可以了。 - Matthew Molloy
Orlando William,如果想在Node.js上尝试ClojureScript,请查看https://github.com/whamtet/dogfort。 - Matthew Molloy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接