Windows上的Clojurescript浏览器REPL

时间:2016-12-09 09:48:28

标签: browser windows-7-x64 clojurescript read-eval-print-loop

按照ClojureScript的快速入门维基页面,我尝试在Chrome网络浏览器中安装REPL(如图所示:https://github.com/clojure/clojurescript/wiki/Quick-Start#browser-repl

我在Windows上运行,而且我正在跳过" brew rlwrap"部分原因是因为我对Windows用户的意义一无所知,并且rlwrap的链接已损坏。

当我在控制台中运行命令java -cp "cljs.jar;src" clojure.main repl.clj然后打开" http://localhost:9000/"在浏览器上,我可以看到java app(cls.jar)崩溃。

  

线程中的异常"线程-3" java.util.regex.PatternSyntaxException:   索引7 g:\ Dev \ Clojurescript附近的非法/不支持的escap e序列          ^           在java.util.regex.Pattern.error(未知来源)           在java.util.regex.Pattern.escape(未知来源)           在java.util.regex.Pattern.atom(未知来源)           at java.util.regex.Pattern.sequence(Unknown Source)           在java.util.regex.Pattern.expr(未知来源)           at java.util.regex.Pattern.compile(Unknown Source)           在java.util.regex.Pattern。(未知来源)           at java.util.regex.Pattern.compile(Unknown Source)           在cljs.repl.browser $ send_static.invokeStatic(browser.clj:108)           在cljs.repl.browser $ send_static.invoke(browser.clj:92)           在cljs.repl.server $ dispatch_request.invokeStatic(server.clj:157)           在cljs.repl.server $ handle_connection.invokeStatic(server.clj:164)           在cljs.repl.server $ server_loop $ fn__5494.invoke(server.clj:175)           在clojure.core $ binding_conveyor_fn $ fn__4676.invoke(core.clj:1938)           在clojure.lang.AFn.run(AFn.java:22)           在java.lang.Thread.run(未知来源)

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:0)

不要直接使用cljs.jar文件,使用Leiningen这样的最小模板使用mies,您必须先安装Leiningen,然后为Windows下载script并运行它

然后使用:

lein new mies myapp

这将创建一个包含所有必要脚本的ClojureScript项目。

打开core.cljs文件并取消注释这些行:

(defonce conn
  (repl/connect "http://localhost:9000/repl"))

运行浏览器repl(在myapp文件夹中执行)。

scripts\brepl.bat

这将编译并运行浏览器repl,当流程完成时,将Google Chrome连接到localhost:9000,然后repl应该联机。

如果您有足够的信心,可以使用更高级的方法检查figwheel,它会为您提供高级功能,例如autobuild和hotswapping。

另请查看关于differences between cljsbuild and figwheel的其他答案。