无法启动远程 ClojureScript bREPL(显示 "Unable to resolve symbol...")

Cannot start a remote ClojureScript bREPL (it says "Unable to resolve symbol...")

这里是 ClojureScript 菜鸟。

我正在使用 Boot 学习以下 ClojureScript 教程:https://github.com/magomimmo/modern-cljs/blob/master/doc/second-edition/tutorial-02.md#browser-repl-brepl

我可以按照它并通过 运行ning boot repl -c 然后 (start-repl) 将命令 line/boot repl 连接到我的站点,但我想连接到该站点使用基于 REPL 的更丰富的文本编辑器。

我已经下载了 atom 文本编辑器的 ProtoRepl。通过给它 repl 的主机 + 端口,我可以很好地连接到 repl,但是当我尝试 运行 (start-repl) 它会抛出错误:

(start-repl)
=> CompilerException java.lang.RuntimeException: Unable to resolve symbol: start-repl in this context, compiling:(C:\Users\Zain\AppData\Local\Temp\boot.user4327288409706217009.clj:1:1)

我好像遗漏了一些 ClojureScript/boot 特定的导入,但我不确定要添加什么或如何添加。

这里有一些额外的调试信息:

运行 (def start-repl) 在工作引导 repl 连接上,与失败的 proto-repl 连接:

启动回复:

cljs.user=> (def start-repl)
#'cljs.user/start-repl

原型复制:

(def start-repl)
=>
#'user/start-repl

从教程来看,start-repl 函数似乎在 boot.user 命名空间中。 Proto REPL 默认使用用户命名空间。试试 (boot.user/start-repl)

start-repl命令由adzerk boot-cljs-repl库提供。如果你在 cljs.user 命名空间中,命令将是:

(adzerk.boot-cljs-repl/start-repl)

如果这是您第一次进入 bREPL,Proto-REPL 将在每次击键时抛出错误。这是 Proto-REPL 尝试并未能 validate/autocomplete 你的 clojure 表达式。消除这些错误的最快方法是禁用自动完成:

  1. 转到 Atom 的首选项
  2. 点击 "Packages"
  3. 在 "Installed Packages"
  4. 下搜索 "proto-repl"
  5. 单击 "proto-repl" 框下的 "Settings"
  6. 向下滚动到 "Enable Autocompletion" 设置并取消选中复选框
  7. 重启 Atom

运行 通过这些步骤再次启动 Brepl,你应该有一个正常工作的浏览器 repl。