这里的初学者。
我可以编译一个现有的Clojure脚本来使用ClojureScript在网络上运行它吗?
假设我有一个在我的终端中打印Hello world的脚本,我想在浏览器上打印该文本。我应该用ClojureScript语法重写整个脚本,还是应该使用另一个编译器来编译它?
(ns clojure-hello-world.core
(:gen-class))
(defn -main [& args]
(println "Hello World"))发布于 2014-12-08 20:58:03
(详细答覆:P)
尽管Clojure和ClojureScript共享大量的特性,但也有一些特性是特定于其中一个的。例如,JavaScript中没有真正的类,因此ns表单中的:gen-class规范没有多大意义。
一个重要的事实是,ClojureScript和的语法完全相同,差异主要与它们在其中运行的主机VM有关(ClojureScript中的Java和ClojureScript中的JavaScript VM )。
有一个清单列出了两个Clojure实现这里之间的区别。
还有一个名为cljx的工具,用于“编写针对Clojure/ClojureScript的可移植代码基”。最近,在最终实现讨论的Clojure Dev组中出现了一些特征表达式,这一方面反对使用cljx,另一方面使工具从Clojure源文件中提取信息的工作变得复杂。
发布于 2014-12-08 20:42:40
我会从莱茵-cljsbuild开始。这将使您可以使用一个很好的编辑eval,并查看浏览器循环。首先获得这个设置是非常值得的,因为它使学习ClojureScript变得更加有趣。我保证这是值得的。如果您需要更多的交互式支持,#clojure on freenode中的人员是非常友好和有帮助的。
发布于 2014-12-09 17:26:10
基本上,浏览器执行JavaScript。将ClojureScript代码编译为JavaScript。浏览器通过HTML页面加载JavaScript。因此,您必须创建一个HTML页面并将浏览器指向它。
我开始的最简单的方法是使用发光(http://www.luminusweb.net/docs/clojurescript.md)。
然而,板栗(https://github.com/plexus/chestnut)看起来很有前途。
https://stackoverflow.com/questions/27365850
复制相似问题