该文件似乎在LightTable相当稀疏。 我想创建LightTable非常裸露的骨头ClojureScript web应用为出发点的基础上。 我有Instarepl Clojure中工作正常,然后我创建一个名为包含以下dummy.cljs新的文件:
(ns dummy)
(js/alert "Hello lighttable")
我如何运行呢?
更新
我现在已经想通了这一点,我会发布关于如何待办事项,因为它是非常直观的视频。
更新2
下面是视频:
http://www.youtube.com/watch?v=GZ6e0tKqYas
- 你应该先创建通过雷音(项目https://github.com/technomancy/leiningen所述) 在这里
- 然后加入cljsbuild到您的项目,如所描述这里
- 从终端(或赢CMD)同时运行
lein ring server
和lein cljsbuild auto
中,为了运行本地web服务器与clojurescript自动编译 - 连接LightTable(通过在底部控制台)到项目你在步骤1中创建
- 现在你可以在LightTable编辑的Clojure和cljs和变更应交付到你的浏览器。 但是,不要忘记检查终端的错误,因为他们可能不会在LT所示。
更简单的方法是使用http://clojurescriptone.com/和雷音REPL为主要开发工具,并使用LT仅作为解决一两个文件中的一些小问题的其他工具。
那么,LightTable是好的,在开发阶段REPL,但是当你做,你需要编译ClojureScript要执行(即用Node.js的)。
安装程序LightTable
- 打开与cljs扩展名的文件clojurescript。
- 单击控制空间
- 选择连接:添加连接,并选择LightTable
然后,你可以给ClojureScript表达,并与评估它的命令输入或移位指令输入键(与Mac OS X)。
安装程序的node.js
最简单的方法是使用雷音,但如果你不想使用雷音,这是可能的方式之一。
第一步:下载cljs.jar编译
- https://github.com/clojure/clojurescript/releases/download/r1.7.145/cljs.jar
或者,如果提供下载新版本。
第二步:创建源目录和创建文件
└── src
├── build.clj
└── smcho
└── core.cljs
build.clj如下所示,您可以更改命名空间和相应的目录名称是必要的。
(require 'cljs.build.api)
(cljs.build.api/build "src"
{:main 'smcho.core
:output-to "main.js"
:target :nodejs})
这是ClojureScript代码; 被添加的主要方法。
(ns smcho.core
(:require [cljs.nodejs :as nodejs]))
(nodejs/enable-util-print!)
(defn factorial [x]
(reduce * (range 1 (inc x))))
(defn fib [n]
(if (<= n 1)
1
(+ (fib (- n 1)) (fib (- n 2)))))
(defn sort-seq []
(sort (repeat 100 (rand-int 2000))))
(defn time-fun [fun]
(let [start (.getTime (js/Date.))
_ (fun)
end (.getTime (js/Date.))
result (- end start)]
result))
(defn time-it [fun]
(let [values (for [i (range 200)] (time-fun fun))]
(/ (apply + values)
(count values))))
(defn -main []
(println "(factorial 5000) \t Avg: " (time-it #(factorial 5000)))
(println "(fib 20) \t Avg: " (time-it #(fib 20)))
(println "(sort-seq) \t Avg: " (time-it #(sort-seq))))
(set! *main-cli-fn* -main)
第三步:建立以获得main.js脚本。
java -cp cljs.jar:src clojure.main src/build.clj
第四步:运行的node.js
node main.js
这将显示执行结果。
(factorial 5000) Avg: 0.65
(fib 20) Avg: 0.135
(sort-seq) Avg: 0.135
该示例代码是从复制http://blog.gonzih.me/blog/2013/01/23/clojurescript-on-beaglebone-simple-benchmark-with-node-dot-js/ 。
要使用光表clojurescript,从Clojure的项目一个区别是:
如果我用连接器(内部或外部)的一些网页,我需要运行:
雷音cljsbuild汽车
在终端。
否则,goog相关JS无法找到。
你可以在这里查看:
https://groups.google.com/forum/#!topic/light-table-discussion/fJBLMzmZSWw