ClojureScript noob here.
我正在使用Boot遵循以下ClojureScript教程:https://github.com/magomimmo/modern-cljs/blob/master/doc/second-edition/tutorial-02.md#browser-repl-brepl
我可以按照它进行操作,并通过运行 boot repl -c
andn 然后(start-repl)
将命令行/启动 repl 连接到我的站点,但我想使用基于更丰富的文本编辑器的 REPL 连接到该站点。
我已经下载了原子文本编辑器的ProtoRepl。 我可以通过给它 repl 的主机 + 端口来很好地连接到 repl,但是当我尝试运行 (start-repl)
时它会抛出错误:
(start-repl)
=> CompilerException java.lang.RuntimeException: Unable to resolve symbol: start-repl in this context, compiling:(C:UsersZainAppDataLocalTempboot.user4327288409706217009.clj:1:1)
似乎我缺少一些特定于 ClojureScript/boot 的导入,但我不确定要添加什么或如何添加它。
下面是一些其他调试信息:
在工作引导 repl 连接上运行 (def start-repl),与失败的原型 repl 连接:
引导回复:
cljs.user=> (def start-repl)
#'cljs.user/start-repl
Proto-repl:
(def start-repl)
=>
#'user/start-repl
start-repl 命令由 adzerk boot-cljs-repl 库提供。如果你在 cljs.user
命名空间中,则该命令将是:
(adzerk.boot-cljs-repl/start-repl)
如果这是您第一次进入bREPL,Proto-REPL会在每次击键时抛出错误。这是原始 REPL 尝试验证/自动完成您的 clojure 表达式,但失败了。消除这些错误的最快方法是禁用自动完成:
- 转到 Atom 的首选项
- 点击"套餐"
- 在"已安装的软件包"下搜索"proto-repl"
- 单击"原型重复"框下的"设置"
- 向下滚动到"启用自动完成"设置,然后取消单击复选框
- 重新启动原子
运行这些步骤以再次启动 Brepl,您应该有一个正常工作的浏览器 repl。
从教程中可以看出,start-repl 函数位于 boot.user 命名空间中。默认情况下,Proto REPL 使用用户命名空间。Try (boot.user/start-repl)