使用Boot-clj REPL在Castra / Hoplon项目中加载Clojurescript函数

时间:2017-12-23 00:24:21

标签: clojurescript boot-clj hoplon

我在使用boot-clj nREPL时遇到了一些麻烦。我在EMACS中使用cider-jack-in连接,然后在顶部显示正确的端口,在底部显示'boot.user =>'但我无法从'../rpc.cljs'页面加载cljs函数。总之,我不知道如何导航到那个地方。我累了使用'(加载“......”)'但我甚至无法弄清楚当前的工作目录。我无法在任何地方找到有关使用Boot REPL的教程。我已经从命令行尝试了'boot repl'然后加载'(def p(future(boot(dev))))'但仍然完全丢失。

简而言之,有人可以帮我指出正确的方向吗?我正在寻找如何更改当前目录,查找当前工作目录,以及从.cljs文件加载函数。

::: EDIT ::: 我找到了boot-cljs-repl并尝试将其挂起。在Hoplon / Castra模板中,它已经包含在'build.boot'文件中,但是在按照GitHub上的说明操作后,它仍然无效。要将它连接到项目,请在“build.boot”文件中添加以下内容,第二部分用于Boot Task'Dev'

(require
   '[adzerk.boot-cljs-repl :refer [cljs-repl cljs-repl-env start-repl]]"
    ...

    ...
    (reload)
    (cljs-repl-env)
    (cljs)))
    ...

然后,你应该能够使用cider-jack-in来加载CLJS repl和命令'(def r(future(boot(dev))))'然后是(start-repl)但是每当我运行,我有一个错误。我已经尝试了cider-jack-in-clojurescript和之前的那个,但似乎连接到CLJS repl时出错。

boot.user> << started Weasel server on ws://127.0.0.1:38456 >>
           << waiting for client to connect ... 
           java.lang.NullPointerException
           at clojure.java.io$make_parents.invokeStatic(io.clj:443)
           at clojure.java.io$make_parents.doInvoke(io.clj:438)

我将继续尝试不同的方法,但到目前为止似乎陷入困境。

::: EDIT :::

我更多地想出了问题,如果你使用'(cljs-repl)'代替'(cljs-repl-env)',那么你可以在启动'boot dev'之后连接'cider-connect' bash,然后你输入'(start-repl)'进入苹果酒repl并启动一个CLJS repl。我现在遇到的问题是,如果我尝试使用像Clojure REPL这样的REPL,它就不会起作用了。如果你按C-c C-c cider说,如果在.cljs文件中,它需要一个Clojurescript REPL,即使它是。

干杯,

0 个答案:

没有答案