获取 clojurescript REPL 的最简单方法
Easiest way to get a clojurescript REPL
在终端中启动 clojurescript REPL 和 运行 的最快方法是什么?我不需要连接到浏览器,只需要 REPL 来计算表达式。
文档似乎假定您需要浏览器同步或进行复杂的操作以获得简单的 REPL。
看看最近发布的clojurescript/wiki/Quick-Start guide。它真的是有史以来最准系统和最简单的。
基本上(假设您安装了 java 8 和 node.js):
- 从这里下载最新的 jar https://github.com/clojure/clojurescript/releases/ 并将其放入文件夹
使用此处 https://github.com/clojure/clojurescript/wiki/Quick-Start#nodejs-repl 的说明作为灵感:
创建 node_repl.clj
包含以下内容的 jar 文件:
(require 'cljs.repl)
(require 'cljs.repl.node)
(cljs.repl/repl (cljs.repl.node/repl-env))
执行java -cp cljs.jar clojure.main node_repl.clj
。这应该打开 repl,如下所示:
$ java -cp cljs.jar clojure.main node_repl.clj
ClojureScript Node.js REPL server listening on 50658
To quit, type: :cljs/quit
ClojureScript:cljs.user> (+ 1 2)
3
如果您想要更高级的 repl,请按照指南中的说明使用 rlwrap
(rlwrap java -cp cljs.jar clojure.main node_repl.clj
)
再一次,看看快速入门指南,它真的很棒(感谢 Swannodette)
编辑
如果你也想使用 nashorn(java 8 js 虚拟机)或 rhino(较旧的基于 java 的 js 虚拟机),你也可以在没有 node.js 的情况下获得工作 repl ,将第 3 步和第 4 步替换为:
对于 Nashorn
创建 nashorn_repl.clj
包含以下内容的 jar 文件:
(require 'cljs.repl)
(require 'cljs.repl.nashorn)
(cljs.repl/repl (cljs.repl.nashorn/repl-env))
执行java -cp cljs.jar clojure.main nashorn_repl.clj
。这应该打开 repl,如下所示:
$ java -cp cljs.jar clojure.main nashorn_repl.clj
To quit, type: :cljs/quit
ClojureScript:cljs.user> (+ 1 2)
3
对于 Rhino
创建 rhino_repl.clj
包含以下内容的 jar 文件:
(require 'cljs.repl)
(require 'cljs.repl.rhino)
(cljs.repl/repl (cljs.repl.rhino/repl-env))
执行java -cp cljs.jar clojure.main rhino_repl.clj
。这应该打开 repl,如下所示:
$ java -cp cljs.jar clojure.main rhino_repl.clj
To quit, type: :cljs/quit
ClojureScript:cljs.user> (+ 1 2)
3
在终端中启动 clojurescript REPL 和 运行 的最快方法是什么?我不需要连接到浏览器,只需要 REPL 来计算表达式。
文档似乎假定您需要浏览器同步或进行复杂的操作以获得简单的 REPL。
看看最近发布的clojurescript/wiki/Quick-Start guide。它真的是有史以来最准系统和最简单的。
基本上(假设您安装了 java 8 和 node.js):
- 从这里下载最新的 jar https://github.com/clojure/clojurescript/releases/ 并将其放入文件夹
使用此处 https://github.com/clojure/clojurescript/wiki/Quick-Start#nodejs-repl 的说明作为灵感:
创建
node_repl.clj
包含以下内容的 jar 文件:(require 'cljs.repl) (require 'cljs.repl.node) (cljs.repl/repl (cljs.repl.node/repl-env))
执行
java -cp cljs.jar clojure.main node_repl.clj
。这应该打开 repl,如下所示:$ java -cp cljs.jar clojure.main node_repl.clj ClojureScript Node.js REPL server listening on 50658 To quit, type: :cljs/quit ClojureScript:cljs.user> (+ 1 2) 3
如果您想要更高级的 repl,请按照指南中的说明使用 rlwrap
(rlwrap java -cp cljs.jar clojure.main node_repl.clj
)
再一次,看看快速入门指南,它真的很棒(感谢 Swannodette)
编辑
如果你也想使用 nashorn(java 8 js 虚拟机)或 rhino(较旧的基于 java 的 js 虚拟机),你也可以在没有 node.js 的情况下获得工作 repl ,将第 3 步和第 4 步替换为:
对于 Nashorn
创建
nashorn_repl.clj
包含以下内容的 jar 文件:(require 'cljs.repl) (require 'cljs.repl.nashorn) (cljs.repl/repl (cljs.repl.nashorn/repl-env))
执行
java -cp cljs.jar clojure.main nashorn_repl.clj
。这应该打开 repl,如下所示:$ java -cp cljs.jar clojure.main nashorn_repl.clj To quit, type: :cljs/quit ClojureScript:cljs.user> (+ 1 2) 3
对于 Rhino
创建
rhino_repl.clj
包含以下内容的 jar 文件:(require 'cljs.repl) (require 'cljs.repl.rhino) (cljs.repl/repl (cljs.repl.rhino/repl-env))
执行
java -cp cljs.jar clojure.main rhino_repl.clj
。这应该打开 repl,如下所示:$ java -cp cljs.jar clojure.main rhino_repl.clj To quit, type: :cljs/quit ClojureScript:cljs.user> (+ 1 2) 3