获取 clojurescript REPL 的最简单方法

Easiest way to get a clojurescript REPL

在终端中启动 clojurescript REPL 和 运行 的最快方法是什么?我不需要连接到浏览器,只需要 REPL 来计算表达式。

文档似乎假定您需要浏览器同步或进行复杂的操作以获得简单的 REPL。

看看最近发布的clojurescript/wiki/Quick-Start guide。它真的是有史以来最准系统和最简单的。

基本上(假设您安装了 java 8 和 node.js):

  1. 从这里下载最新的 jar https://github.com/clojure/clojurescript/releases/ 并将其放入文件夹
  2. 使用此处 https://github.com/clojure/clojurescript/wiki/Quick-Start#nodejs-repl 的说明作为灵感:

  3. 创建 node_repl.clj 包含以下内容的 jar 文件:

    (require 'cljs.repl)
    (require 'cljs.repl.node)
    
    (cljs.repl/repl (cljs.repl.node/repl-env))
    
  4. 执行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

  1. 创建 nashorn_repl.clj 包含以下内容的 jar 文件:

    (require 'cljs.repl)
    (require 'cljs.repl.nashorn)
    
    (cljs.repl/repl (cljs.repl.nashorn/repl-env))
    
  2. 执行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

  1. 创建 rhino_repl.clj 包含以下内容的 jar 文件:

    (require 'cljs.repl)
    (require 'cljs.repl.rhino)
    
    (cljs.repl/repl (cljs.repl.rhino/repl-env))
    
  2. 执行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